NodeJS 基礎(chǔ)教程

NodeJS Express.js

NodeJS 緩沖&URL

NodeJS MySql

NodeJS MongoDB

NodeJS 文件(FS)

NodeJS 其他

Node.js 示例大全

Node.js示例

Node.js示例:我們將使用Node.js來介紹基礎(chǔ)知識,fs模塊,mysql模塊,http模塊,url模塊,解析json等示例。

以下是我們將在此Node.js教程中介紹的Node.js示例的列表:

Module/TopicExamples
Basics
  • Node.js Example HelloWorld

  • Node.js Example Create a Module

File System
  • Node.js Example Create a File

  • Node.js Example Read a File

  • Node.js Example  Write to a File

  • Node.js Example  Delete a File

MySQL
  • Node.js Example Connect to MySQL Database

  • Node.js Example SELECT FROM Table

  • Node.js Example SELECT from Table with WHERE clause

  • Node.js Example ORDER entries BY a column

  • Node.js Example INSERT entries INTO Table

  • Node.js Example UPDATE Table Entries

  • Node.js Example DELETE Table Entries

  • Node.js Example Using Result Object

URL
  • Node.js Example Parse URL 參數(shù)

JSON
  • Node.js Example Parse JSON File

HTTP
  • Node.js Example Create HTTP Web Server

Node.js示例:簡單的Node.js示例

以下是一個簡單的Node.js示例,用于將消息打印到控制臺。

console.log("Hi there! This is Node.js!")

Calculator.js

// 返回兩個數(shù)字的加法
exports.add = function (a, b) { 
    return a+b; 
 };  
 
// 返回兩個數(shù)字的差
exports.subtract = function (a, b) { 
    return a-b; 
 };  
 
// 返回兩個數(shù)的乘積
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("Subtraction : "+calculator.subtract(a,b)); 
console.log("Multiplication : "+calculator.multiply(a,b));

readFileExample.js

// 引入文件fs模塊
var fs = require('fs'); 
var data ='Learn Node FS module'; 
 
// 具有文件名,內(nèi)容和回調(diào)函數(shù)的writeFile函數(shù)
fs.writeFile('newfile.txt', data, function (err) { 
  if (err) throw err; 
  console.log('File is created successfully.'); 
 });

在終端或命令提示符下使用node命令運(yùn)行程序:

終端輸出

$ node createFileExample.js
File is created successfully.

該文件應(yīng)在帶有內(nèi)容“學(xué)習(xí)節(jié)點(diǎn)FS模塊”的示例node.js程序旁邊創(chuàng)建。

Node.js示例:讀取文件

// 引入文件系統(tǒng)模塊
var fs = require('fs'); 
 
// 讀取文件sample.html
fs.readFile('sample.html', 
    // 讀取文件完成時調(diào)用的回調(diào)函數(shù)
    function(err, data) {  
        if (err) throw err; 
        // 數(shù)據(jù)是包含文件內(nèi)容的緩沖區(qū)
        console.log(data.toString('utf8')) 
 });

在終端或命令提示符下使用node命令運(yùn)行程序:

終端輸出

$ 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命令運(yùn)行程序:

終端輸出

$ node deleteFile.js
File deleted!

文件已成功刪除。

Node.js示例:寫入文件

在此示例中,我們將編寫內(nèi)容“ Hello!” ,到文本文件sample.txt。

// 引入文件系統(tǒng)模塊
 
var fs = require('fs'); 
 
var data = "Hello !"
 
// 將數(shù)據(jù)寫入文件sample.html
fs.writeFile('sample.txt',data, 
    // 寫入文件后調(diào)用的回調(diào)函數(shù)
    function(err) {  
        if (err) throw err; 
        // 如果沒有錯誤
        console.log("Data is written to file successfully.") 
 });

當(dāng)以上程序在Terminal中運(yùn)行時,

節(jié)目輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-write-to-file-example.js 
Data is written to file successfully.

NodeJS示例–連接到MySQL數(shù)據(jù)庫

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password" // 對應(yīng)的密碼
 }); 
 
// 連接到數(shù)據(jù)庫。
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'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    console.log(result); 
  }); 
 });

selectFromWhere.js

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("SELECT * FROM students where marks>90", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    console.log(result); 
  }); 
 });

從上面的.js文件的位置打開一個終端,然后運(yùn)行selectFromWhere.js Node.js MySQL示例程序。

AscOrderExample.js

//引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("SELECT * FROM students ORDER BY marks", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    console.log(result); 
  }); 
 });

運(yùn)行上面的Node.js MySQL ORDER BY示例程序。

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95)", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    console.log(result); 
  }); 
 });

在終端中的Node.js MySQL程序上方運(yùn)行。

UpdateRecordsFiltered.js-更新MySQL表的記錄

// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    console.log(result); 
  }); 
 });

在終端中運(yùn)行以上程序

終端輸出

arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js 
OkPacket { 
  fieldCount: 0, 
  affectedRows: 3, 
  insertId: 0, 
  serverStatus: 34, 
  warningCount: 0, 
  message: '(Rows matched: 3  Changed: 3  Warnings: 0', 
  protocol41: true, 
  changedRows: 3 }

Node.js示例–刪除表?xiàng)l目

在表上的記錄的一個或多個屬性上應(yīng)用過濾器的情況下,對指定的表執(zhí)行DELETE FROM查詢。

 // 引入mysql模塊 
 var mysql = require('mysql'); 
 
 // 創(chuàng)建具有所需詳細(xì)信息的連接變量 
 var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址 
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
 // 連接到數(shù)據(jù)庫。 
 con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功 
  con.query("DELETE FROM students WHERE rollno>10", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤 
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果 
    console.log(result); 
  }); 
 });

運(yùn)行deleteRecordsFiltered.js-終端輸出

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

Node.js示例–使用結(jié)果對象

我們可以使用DOT(。)運(yùn)算符將結(jié)果集中的記錄作為數(shù)組和記錄的屬性來訪問。

// Node.js MySQL結(jié)果對象示例
// 引入mysql模塊
var mysql = require('mysql'); 
 
// 創(chuàng)建具有所需詳細(xì)信息的連接變量
var con = mysql.createConnection({ 
  host: "localhost", // 運(yùn)行mysql的服務(wù)器的IP地址
  user: "arjun", // mysql數(shù)據(jù)庫的用戶名
  password: "password", // 對應(yīng)的密碼
  database: "studentsDB" // 使用指定的數(shù)據(jù)庫
 }); 
 
// 建立與數(shù)據(jù)庫的連接。
con.connect(function(err) { 
  if (err) throw err; 
  // 如果連接成功
  con.query("SELECT * FROM students", function (err, result, fields) { 
    // 如果在執(zhí)行上述查詢時出現(xiàn)任何錯誤,則拋出錯誤
    if (err) throw err; 
    // 如果沒有錯誤,您將得到結(jié)果
    // 對結(jié)果中的所有行進(jìn)行迭代
    Object.keys(result).forEach(function(key) { 
      var row = result[key]; 
      console.log(row.name) 
    }); 
  }); 
 });

使用終端中的節(jié)點(diǎn)運(yùn)行以上程序

終端輸出

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

Node.js示例–解析URL參數(shù)

// 引入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); //returns '?type=page&action=update&id=5221'
 
var qdata = q.query; // 返回一個對象:{類型:頁面,操作:'update',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
page
update
5221

Node.js示例:解析JSON文件

以下示例可幫助您使用JSON。parse()函數(shù)并從JSON對象訪問元素。

// json數(shù)據(jù)
var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; 
 
// 解析json
var jsonParsed = JSON.parse(jsonData); 
 
// 訪問元素
console.log(jsonParsed.persons[0].name);

運(yùn)行nodejs-parse-json.js的終端輸出

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

Node.js示例:創(chuàng)建HTTP Web服務(wù)器

Node.js示例–一個HTTP Web服務(wù)器,它準(zhǔn)備帶有HTTP標(biāo)頭和消息的響應(yīng)。

// 在文件中引入http模塊
var http = require('http'); 
 
// 創(chuàng)建一個服務(wù)器
http.createServer(function (req, res) { 
    // http標(biāo)頭
    // 200-確定消息
    // 要使用html內(nèi)容進(jìn)行響應(yīng),“ Content-Type”應(yīng)為“ text / html”
    res.writeHead(200, {'Content-Type': 'text/html'});  
    res.write('Node.js says hello!'); //給客戶寫回應(yīng)
    res.end(); //結(jié)束回應(yīng)
 }).listen(9000); //服務(wù)器對象在端口9000上偵聽

運(yùn)行服務(wù)器

$ node httpWebServer.js

打開瀏覽器并點(diǎn)擊URL“ http://127.0.0.1:9000/”,以觸發(fā)對我們的Web服務(wù)器的請求。

在Node.js中創(chuàng)建HTTP Web服務(wù)器

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清