English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS базовый учебник

NodeJS Express.js

NodeJS буфер & URL;

NodeJS MySql

NodeJS MongoDB

NodeJS файл (FS)

Другие NodeJS

Node.js示例大全

Примеры Node.js

Примеры Node.jsМы будем использоватьNode.jsДля ввода в курс基础知识, примеры с использованием модуля fs, модуля mysql, модуля http, модуля url, парсинга json и т.д.

Вот список примеров Node.js, которые мы будем介绍 в этом руководстве по Node.js:

Модуль/ТемаПримеры
Основы
  • Пример Node.js HelloWorld

  • Пример Node.js Создать модуль

Файловая система
  • Пример Node.js Создать файл

  • Пример Node.js Читать файл

  • Пример Node.js  Записать в файл

  • Пример Node.js  Удалить файл

MySQL
  • Пример Node.js Подключиться к базе данных MySQL

  • Пример Node.js Выбрать из таблицы

  • Пример Node.js Выбрать из таблицы с условиями WHERE

  • Пример Node.js Заказать записи по столбцу

  • Пример Node.js Вставить записи в таблицу

  • Пример Node.js Обновление записей таблицы

  • Пример Node.js Удаление записей таблицы

  • Пример Node.js Использование объекта результата

URL
  • Пример Node.js Обработка параметров URL

JSON
  • Пример Node.js Обработка JSON файла

HTTP
  • Пример Node.js Создание HTTP веб-сервера

Пример Node.js: Простой пример Node.js

Ниже приведен простойПример Node.jsДля вывода сообщения в консоль.

console.log('Привет! Это Node.js!');

Calculator.js

// Возвращает сумму двух чисел
exports.add = function(a, b) { 
    return a + b; 
 });  
 
// Возвращает разность двух чисел
exports.subtract = function(a, b) { 
    return a - b; 
 });  
 
// Возвращает произведение двух чисел
exports.multiply = function(a, b) { 
    return a * b; 
 });
var calculator = require('./calculator'); 
 
var a = 10, b = 5; 
 
console.log('Сложение: ' + calculator.add(a, b)); 
console.log('Вычитание: ' + calculator.subtract(a, b)); 
console.log('Умножение: ' + calculator.multiply(a, b));

readFileExample.js

// Ввод модуля файла fs
var fs = require('fs'); 
var data = 'Учебный модуль Node FS'; 
 
// Функция writeFile с именем файла, содержимым и回调-функцией
fs.writeFile('newfile.txt', data, function(err) { 
  if (err) throw err; 
  console.log('Файл успешно создан.'); 
 });

Запустите программу с помощью команды node в терминале или командной строке:

终端输出

$ node createFileExample.js
Файл успешно создан.

Этот файл следует создавать рядом с примером программы node.js, содержащим контент «Учебный узел модуль FS».

Пример Node.js: чтение файла

// 引入文件系统模块
var fs = require('fs'); 
 
// Чтение файла sample.html
fs.readFile('sample.html', 
    // 回调 функция, вызываемая по завершении чтения файла
    function(err, data) {  
        if (err) throw err; 
        // Данные — это буфер, содержащий содержимое файла
        console.log(data.toString('utf8')) 
 });

Запустите программу с помощью команды node в терминале или командной строке:

终端输出

$ node readFileExample.js
<html>
<body>
<h1>Header</h1>
<p>I have learnt to read a file in Node.js.</p>
</body>
</html>

Пример Node.js: удаление файла

Убедитесь, что рядом с примером программы Node.js есть файл с именем "sample.txt".

// 引入fs модуль
var fs = require('fs'); 
 
// 删除名为“ sample.txt”的文件
fs.unlink('sample.txt', function (err) { 
    if (err) throw err; 
    // 如果没有错误,则文件已成功删除
    console.log('File deleted!'); 
 });

Запустите программу с помощью команды node в терминале или командной строке:

终端输出

$ node deleteFile.js
File deleted!

Файл успешно удален.

Пример Node.js: запись файла

В этом примере мы напишем содержимое "Hello!" в текстовый файл sample.txt.

// 引入文件系统模块
 
var fs = require('fs'); 
 
var data = "Hello !"
 
// 将数据写入文件sample.html
fs.writeFile('sample.txt',data, 
    // 写入文件后调用的回调函数
    function(err) {  
        if (err) throw err; 
        // 如果没有错误
        console.log("Data is written to file successfully.") 
 });

когда этот программный код выполняется в Terminal

программа вывода

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-write-to-file-example.js 
Данные успешно записаны в файл.

Пример NodeJS–подключение к базе данных MySQL

// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password" // Соответствующий пароль
 }); 
 
// Соединение с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  console.log("Connected!"); 
 });

selectFromTable.js Пример простого запроса SELECT FROM в MySQL

// Пример запроса SELECT FROM в Node.js MySQL
// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("SELECT * FROM students", function(err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    console.log(result); 
  }); 
 });

selectFromWhere.js

// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("SELECT * FROM students where marks>90", function (err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    console.log(result); 
  }); 
 });

Откройте терминал в позиции файла .js, а затем запустите пример программы Node.js MySQL selectFromWhere.js.

AscOrderExample.js

// Ввод модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("SELECT * FROM students ORDER BY marks", function (err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    console.log(result); 
  }); 
 });

Запуск вышеуказанного примера программы Node.js MySQL ORDER BY.

// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95)", function (err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    console.log(result); 
  }); 
 });

Запуск программы Node.js MySQL в терминале над.

UpdateRecordsFiltered.js-обновление записей таблицы MySQL

// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    console.log(result); 
  }); 
 });

Запуск вышеуказанной программы в терминале

终端输出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 34, 
   
  message: '(Соответствующие строки: 3  Изменены: 3  Предупреждения: 0', 
  protocol41: true, 
  changedRows: 3 }

Пример Node.js - удаление элементов таблицы

В случае применения фильтра к одному или нескольким свойствам записей в таблице выполняется запрос DELETE FROM для указанной таблицы.

 // Включение модуля mysql 
 var mysql = require('mysql'); 
 
 // Создание переменной соединения с необходимыми деталями 
 var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL 
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
 // Соединение с базой данных. 
 con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно 
  con.query("DELETE FROM students WHERE rollno>10", function(err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка 
    if (err) throw err; 
    // если нет ошибок, вы получите результат 
    console.log(result); 
  }); 
 });

Запуск deleteRecordsFiltered.js - вывод в терминал

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 6, 
  insertId: 0, 
  serverStatus: 34, 
   
  message: ' 
  protocol41: true, 
  changedRows: 0 }

Пример Node.js - использование объекта результата

Мы можем использовать оператор DOT (.) для доступа к записям в результате набора как к свойствам массива и записи.

// Пример объекта результата MySQL для Node.js
// Включение модуля mysql
var mysql = require('mysql'); 
 
// Создание переменной соединения с необходимыми деталями
var con = mysql.createConnection({ 
  host: "localhost" // IP-адрес сервера, на котором запущен MySQL
  user: "arjun" // имя пользователя MySQL для базы данных
  password: "password", // соответствующий пароль
  database: "studentsDB" // Используется указанная база данных
 }); 
 
// Установление соединения с базой данных.
con.connect(function(err) { 
  if (err) throw err; 
  // Если соединение успешно
  con.query("SELECT * FROM students", function(err, result, fields) { 
    // если中出现任何错误 при выполнении вышеуказанного запроса, выбрасывается ошибка
    if (err) throw err; 
    // если нет ошибок, вы получите результат
    // проходит по всем строкам в результатах
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

Запустите программу через узел в терминале

终端输出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js 
John
Arjun
Prasanth
Adarsh
Raja
Sai
Ross
Monica
Lee
Bruce
Sukumar

Пример Node.js – анализ параметров URL

// включает модуль url
var url = require('url'); 
var address = 'http://localhost:8080/index.php?type=page&action=update&id=5221'; 
var q = url.parse(address, true); 
 
console.log(q.host); //возвращает'localhost:8080'
console.log(q.pathname); //возвращает'/index.php'
console.log(q.search); //возвращает「'?type=page&action=update&id=5221'"
 
var qdata = q.query; // возвращает объект: {тип: страница, операция: 'обновление', id ='5221'}
console.log(qdata.type); //возвращает「страница»
console.log(qdata.action); //возвращает「обновление»
console.log(qdata.id); //возвращает「 5221」

终端输出

$ node urlParsingExample.js 
localhost:8080
/index.php
 ?type=page&action=update&id=5221
页面
更新
5221

Node.js示例:解析JSON文件

以下示例可帮助您使用JSON.parse()函数并从JSON对象访问元素。

// json数据
var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; 
 
// 解析json
var jsonParsed = JSON.parse(jsonData); 
 
// 访问元素
console.log(jsonParsed.persons[0].name);

运行nodejs-parse-json.js的终端输出

 
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json.js 
John

Node.js示例:创建HTTP Web服务器

Node.js示例–一个HTTP Web服务器,它准备带有HTTP标头和消息的响应。

// 在文件中引入http模块
var http = require('http'); 
 
// 创建一个服务器
http.createServer(function(req, res) { 
    // http标头
    // 200-确定消息
    // 要使用html内容进行响应,“Content-Type”应为“text/html”
    res.writeHead(200, {'Content-Type': 'text/html'});  
    res.write('Node.js says hello!'); //给客户写回应
    res.end(); //结束回应
 }).listen(9000); //服务器对象在端口9000上侦听

运行服务器

$ node httpWebServer.js

打开浏览器并点击URL“http://127.0.0.1:9000/”,以触发对我们的Web服务器的请求。