English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Примеры Node.jsМы будем использоватьNode.jsДля ввода в курс基础知识, примеры с использованием модуля fs, модуля mysql, модуля http, модуля url, парсинга json и т.д.
Вот список примеров Node.js, которые мы будем介绍 в этом руководстве по Node.js:
Модуль/Тема | Примеры |
Основы |
|
Файловая система |
|
MySQL |
|
URL |
|
JSON |
|
HTTP |
|
Ниже приведен простойПример 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».
// 引入文件系统模块 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 есть файл с именем "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!
Файл успешно удален.
В этом примере мы напишем содержимое "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 Данные успешно записаны в файл.
// Включение модуля 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 }
В случае применения фильтра к одному или нескольким свойствам записей в таблице выполняется запрос 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 }
Мы можем использовать оператор 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
// включает модуль 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
以下示例可帮助您使用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服务器,它准备带有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服务器的请求。