English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ejemplo de Node.js:usaremosNode.jspara introducir conceptos básicos, ejemplos de módulo fs, módulo mysql, módulo http, módulo url, análisis de JSON, etc.
A continuación, se muestra una lista de ejemplos de Node.js que presentaremos en este tutorial de Node.js:
Módulo/Tema | Ejemplos |
Básicos |
|
Sistema de archivos |
|
MySQL |
|
URL |
|
JSON |
|
HTTP |
|
a continuación, un ejemplo simpleEjemplo de Node.js,para imprimir mensajes en la consola.
console.log("¡Hola! Esto es Node.js!")
Calculator.js
// devuelve la suma de dos números exports.add = function(a, b) { return a+b; }; // devuelve la diferencia de dos números exports.subtract = function(a, b) { return a-b; }; // devuelve el producto de dos números exports.multiply = function(a, b) { return a*b; };
var calculator = require('');/calculator'); var a=10, b=5; console.log("Suma: "+calculator.add(a,b)); console.log("Resta: "+calculator.subtract(a,b)); console.log("Multiplicación: "+calculator.multiply(a,b));
readFileExample.js
// Importar el módulo de archivo fs var fs = require('fs'); var data = 'Aprender módulo Node FS'; // Función writeFile con nombre de archivo, contenido y función de callback fs.writeFile('newfile.txt', data, function(err) { if (err) throw err; console.log('Se ha creado el archivo con éxito.'); });
Ejecuta el programa utilizando el comando node en el terminal o la línea de comandos:
salida del terminal
$ node createFileExample.js Se ha creado el archivo con éxito.
Este archivo debe crearse junto al programa de ejemplo de node.js que contiene el contenido "Aprender módulo FS de Node".
// 引入文件系统模块 var fs = require('fs'); // Leer el archivo sample.html fs.readFile('sample.html', // Función de callback llamada cuando se completa la lectura del archivo function(err, data) { if (err) throw err; // Los datos son un búfer que contiene el contenido del archivo console.log(data.toString('utf-8'));8)) });
Ejecuta el programa utilizando el comando node en el terminal o la línea de comandos:
salida del terminal
$ node readFileExample.js <html> <body> <h1>Encabezado</h1> <p>Hice un archivo de ejemplo de Node.js para leer archivos.</p> </body> </html>
Asegúrate de que haya un archivo llamado "sample.txt" al lado del programa de ejemplo de node.js.
// Importar el módulo fs var fs = require('fs'); // Eliminar el archivo llamado "sample.txt" fs.unlink('sample.txt', function(err) { if (err) throw err; // Si no hay errores, el archivo se ha eliminado con éxito console.log('¡Archivo eliminado!'); });
Ejecuta el programa utilizando el comando node en el terminal o la línea de comandos:
salida del terminal
$ node deleteFile.js File deleted!
File has been deleted successfully.
在此示例中,我们将编写内容“ 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 Data is written to file successfully.
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password" // 相应的密码 }); // 连接到数据库。 con.connect(function(err) { if (err) throw err; console.log("Connected!"); });
selectFromTable.js MySQL SELECT FROM查询的简单示例
// Node.js MySQL SELECT FROM查询示例 // 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("SELECT * FROM students", function(err, result, fields) { // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
selectFromWhere.js
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("SELECT * FROM students where marks>90 // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
从上面的.js文件的位置打开一个终端,然后运行selectFromWhere.js Node.js MySQL示例程序。
AscOrderExample.js
//引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("SELECT * FROM students ORDER BY marks // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
运行上面的Node.js MySQL ORDER BY示例程序。
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95function (err, result, fields) { // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
在终端中的Node.js MySQL程序上方运行。
UpdateRecordsFiltered.js-更新MySQL表的记录
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
在终端中运行以上程序
salida del terminal
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, message: '(Rows matched: 3 Changed: 3 Warnings: 0', protocol41: true, changedRows: 3 }
在表上的记录的一个或多个属性上应用过滤器的情况下,对指定的表执行DELETE FROM查询。
// 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // 连接到数据库。 con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("DELETE FROM students WHERE rollno>"10", function (err, result, fields) { // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado console.log(result); }); });
运行deleteRecordsFiltered.js-salida del terminal
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, message: ' protocol41: true, changedRows: 0 }
我们可以使用DOT(.)运算符将结果集中的记录作为数组和记录的属性来访问。
// Node.js MySQL结果对象示例 // 引入mysql模块 var mysql = require('mysql'); // 创建具有所需详细信息的连接变量 var con = mysql.createConnection({ host: "localhost", // 运行mysql的服务器的IP地址 user: "arjun", // mysql数据库的用户名 password: "password", // 相应的密码 database: "studentsDB" // usar la base de datos especificada }); // establecer conexión con la base de datos. con.connect(function(err) { if (err) throw err; // si la conexión es exitosa con.query("SELECT * FROM students", function(err, result, fields) { // si ocurre algún error al ejecutar la consulta anterior, lanza un error if (err) throw err; // si no hay errores, obtendrá el resultado // iterar todas las filas del resultado Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
ejecutar el programa anterior desde el nodo en el terminal
salida del terminal
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
// importar el módulo url var url = require('url'); //localhost:8080/index.php?type=page&action=update&id=',5221'; var q = url.parse(address, true); console.log(q.host); //devuelve 'localhost:8080 console.log(q.pathname); //devuelve/index.php //devuelve '?type=page&action=update&id=',5221" var qdata = q.query; // devuelve un objeto: {tipo: página, acción: 'update', id = '5221} console.log(qdata.type); //devuelve "página" console.log(qdata.action); //devuelve "actualizar" console.log(qdata.id); //devuelve " 5221"
salida del terminal
$ node urlParsingExample.js localhost:8080 /index.php ?type=page&action=update&id=5221 page update 5221
Los siguientes ejemplos pueden ayudarlo a usar la función JSON.parse() y acceder a los elementos del objeto JSON.
// Datos json var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; // Analizar json var jsonParsed = JSON.parse(jsonData); // Acceder al elemento console.log(jsonParsed.persons[0].name);
Ejecutar nodejs-parse-Salida de terminal de json.js
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json.js John
Ejemplo de Node.js – Un servidor web HTTP que prepara respuestas con encabezados HTTP y mensajes.
// Importar el módulo http en el archivo var http = require('http'); // Crear un servidor http.createServer(function (req, res) { // Encabezado http // 200-Confirmar mensaje // Para usar contenido html en la respuesta, “ Content-Type” debe ser “ text / html” res.writeHead(200, {'Content-Type': 'text/html'}); res.write('Node.js says hello!'); //Escribir respuesta al cliente res.end(); //Finalizar la respuesta }).listen(9000); //El objeto del servidor está en el puerto9000上侦听
Ejecutar el servidor
$ node httpWebServer.js
Abra el navegador y haga clic en la URL “http://127.0.0.1:9000/”,以触发对我们的Web服务器的请求。