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("Hi there! This is 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("Addition: "}+calculator.add(a,b)); console.log("Subtraktion: "}+calculator.subtract(a,b)); console.log("Multiplikation: "}+calculator.multiply(a,b));
readFileExample.js
// 引入文件fs模块 var fs = require('fs'); var data = 'Learn Node FS module'; // 具有文件名,内容和回调函数的writeFile函数 fs.writeFile('newfile.txt', data, function(err) { if (err) throw err; console.log('Datei wurde erfolgreich erstellt.'); });
请使用node命令在终端或命令提示符下运行程序:
Terminalausgabe
$ node createFileExample.js Datei wurde erfolgreich erstellt.
该文件应在带有内容“学习节点FS模块”的示例node.js程序旁边创建。
// Importieren Sie das Dateisystemmodul var fs = require('fs'); // 读取文件sample.html fs.readFile('sample.html', // 读取文件完成时调用的回调函数 function(err, data) { if (err) throw err; // 数据是包含文件内容的缓冲区 console.log(data.toString('utf-8'));8)) });
请使用node命令在终端或命令提示符下运行程序:
Terminalausgabe
$ 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('Datei gelöscht!'); });
请使用node命令在终端或命令提示符下运行程序:
Terminalausgabe
$ node deleteFile.js Datei gelöscht!
Datei wurde erfolgreich gelöscht.
In diesem Beispiel schreiben wir den Inhalt "Hello!" in die Textdatei sample.txt.
// Importieren Sie das Dateisystemmodul var fs = require('fs'); var data = "Hello !" // Schreiben Sie Daten in die Datei sample.html fs.writeFile('sample.txt',data, // Rückruffunktion nach dem Schreiben der Datei function(err) { if (err) throw err; // ohne Fehler console.log("Daten wurden erfolgreich in die Datei geschrieben.") });
Wenn das obige Programm im Terminal ausgeführt wird,
Programmausgabe
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-schreiben-in-Datei-example.js Daten wurden erfolgreich in die Datei geschrieben.
// Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password" // entsprechende Passwort }); // Verbinden Sie sich mit der Datenbank. con.connect(function(err) { if (err) throw err; console.log("Connected!"); });
selectFromTable.js Einfaches Beispiel für MySQL SELECT FROM Abfrage
// Node.js MySQL SELECT FROM Abfragebeispiel // Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("SELECT * FROM students", function(err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
selectFromWhere.js
// Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("SELECT * FROM students WHERE marks>90", function (err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
Öffnen Sie einen Terminal von der Position der .js-Datei und führen Sie das Beispielprogramm selectFromWhere.js Node.js MySQL aus.
AscOrderExample.js
//Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("SELECT * FROM students ORDER BY marks", function (err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
Führen Sie das Node.js MySQL ORDER BY Beispielprogramm aus.
// Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95"", function (err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
Führen Sie das Node.js MySQL-Programm im Terminal aus.
UpdateRecordsFiltered.js-Aktualisieren Sie die Aufzeichnungen der MySQL-Tabelle
// Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("UPDATE students SET marks=84 WHERE marks=74", function(err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
Führen Sie den obigen Programm im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, warningCount: 0, message: '(Rows matched: 3 Geändert: 3 Warnungen: 0', protocol41: true, changedRows: 3 }
Führen Sie DELETE FROM-Abfragen auf einem bestimmten Tisch aus, wenn eine oder mehrere Eigenschaften der Zeilen im Tisch angewendet werden.
// Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbinden Sie sich mit der Datenbank. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("DELETE FROM students WHERE rollno>"10", function(err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis console.log(result); }); });
Führen Sie deleteRecordsFiltered.js aus-Terminalausgabe
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, warningCount: 0, message: '', protocol41: true, changedRows: 0}
Wir können den DOT-Operator (.) verwenden, um die Zeilen in der Ergebnismenge als Array und Eigenschaften der Zeilen zu erreichen.
// Beispiel für MySQL-Ergebnisobjekte in Node.js // Modul mysql einbinden var mysql = require('mysql'); // Erstellen Sie eine Verbindungsvariablen mit den erforderlichen Details var con = mysql.createConnection({ host: "localhost", // IP-Adresse des Servers, auf dem MySQL läuft user: "arjun", // Benutzername für die MySQL-Datenbank password: "password", // entsprechende Passwort database: "studentsDB" // Verwenden Sie die angegebene Datenbank }); // Verbindung zur Datenbank herstellen. con.connect(function(err) { if (err) throw err; // Wenn die Verbindung erfolgreich ist con.query("SELECT * FROM students", function(err, result, fields) { // Wenn bei der Ausführung der obigen Abfrage ein Fehler auftritt, wird ein Fehler ausgelöst if (err) throw err; // Wenn kein Fehler auftritt, erhalten Sie das Ergebnis // Iterieren Sie über alle Zeilen im Ergebnis Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
Führen Sie das obige Programm mit dem Knoten im Terminal aus
Terminalausgabe
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
// Modul url einbinden 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); //Rückgabe 'localhost:8080 console.log(q.pathname); //Rückgabe/index.php console.log(q.search); //returns '?type=page&action=update&id=5221" var qdata = q.query; // Rückgabe eines Objekts: {Typ: Seite, Aktion: 'update', id = '5221} console.log(qdata.type); //Rückgabe "Seite" console.log(qdata.action); //Rückgabe "update" console.log(qdata.id); //Rückgabe " 5221"
Terminalausgabe
$ node urlParsingExample.js localhost:8080 /index.php ?type=page&action=update&id=5221 page update 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服务器的请求。