一、安裝Node.js
Node.js是基於V8引擎的,它支持許多操作系統,如Windows、Mac和Linux。安裝Node.js之前,需要先選擇相應的操作系統版本。可以在官方網站(https://nodejs.org)下載不同平台下的Node.js。
// 下載Node.js // Windows版本 https://nodejs.org/dist/v14.15.4/node-v14.15.4-x64.msi // Mac版本 https://nodejs.org/dist/v14.15.4/node-v14.15.4.pkg // Ubuntu版本 sudo apt install nodejs // CentOS版本 sudo yum install nodejs
安裝完成之後,可以通過以下命令驗證Node.js的安裝:
node -v
如果輸出了版本號,則說明Node.js已安裝成功。
二、Node.js模塊
Node.js提供了許多核心模塊,如http、fs、path等。通過Node.js的require()方法,可以在代碼中引入相應的模塊。下面是一個例子:
// 引入http模塊
const http = require('http');
// 創建一個服務器
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World!');
}).listen(8080);
// 在終端上輸出一段文本
console.log('Server running at http://localhost:8080/');
在Node.js中,模塊分為核心模塊和文件模塊。核心模塊是Node.js自身提供的模塊,文件模塊是用戶自定義的模塊。用戶自定義的模塊可以通過module.exports或exports將函數、對象、類等導出給其他模塊使用,也可以通過require()方法來引入其他模塊的函數、對象、類等。
三、Node.js異步編程
Node.js採用異步方式進行編程,它的IO操作都是異步的。這就意味着在執行IO操作的同時,Node.js可以繼續執行其他的代碼,而不需要等到IO操作完成之後才能執行其他代碼。
異步編程可以提高Node.js的性能,避免了因為等待IO操作而造成的阻塞,提高了系統的響應速度。Node.js中的異步編程方式包括回調函數、Promise等方式,下面是一個回調函數例子:
// 使用回調函數進行異步編程
function readFile(callback) {
fs.readFile('file.txt', function (err, data) {
if (err) {
console.log(err);
} else {
callback(data);
}
});
}
// 調用readFile函數並傳入一個回調函數
readFile(function (data) {
console.log(data);
});
四、Node.js的事件循環
Node.js中的事件循環是實現異步編程的核心。當Node.js啟動時,事件循環會開始運行,它會不斷地從事件隊列中取出事件,然後執行對應的回調函數。
事件循環包括以下幾個階段:
- timers階段:執行setTimeout和setInterval等定時器回調函數
- pending callbacks階段:執行系統級別的回調函數
- idle, prepare階段:系統內部使用
- poll階段:等待I/O事件完成
- check階段:執行setImmediate的回調函數
- close callbacks階段:執行close事件的回調函數
下面是一個事件循環的例子:
// 在timers階段註冊一個定時器回調函數
setImmediate(function () {
console.log('setImmediate');
});
// 在poll階段註冊一個I/O事件
fs.readFile('file.txt', function (err, data) {
console.log('readFile');
});
// 在check階段註冊一個setImmediate回調函數
setImmediate(function () {
console.log('setImmediate 2');
});
執行結果是:
setImmediate readFile setImmediate 2
五、Node.js的調試
Node.js提供了許多調試工具,如Node.js自身的調試器、VS Code的調試器等。Node.js自身的調試器可以通過命令行方式來使用,VS Code的調試器可以通過安裝插件並配置launch.json文件來使用。
下面是Node.js自身的調試器的例子:
// 新建一個文件名為debug.js const a = 1; const b = 2; const sum = a + b; debugger; // 執行debug.js並啟動調試器 node inspect debug.js // 在控制台中輸入以下命令 > n // 繼續執行到下一行 > repl // 進入repl環境,可以查看變量的值 > sum // 輸出變量sum的值
VS Code的調試器需要在launch.json文件中配置調試參數和調試腳本,下面是一個launch.json的例子:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/debug.js",
"outFiles": [],
"sourceMaps": true
}
]
}
六、Node.js的web開發
Node.js可以用來開發web應用,其中最著名的框架是Express。Express是一個快速、靈活的Node.js web應用框架,它提供了許多中間件和工具,方便開發者創建web應用。
下面是一個使用Express框架創建web應用的例子:
// 安裝Express框架
npm install express
// 創建一個文件名為app.js
// 引入Express框架
const express = require('express');
// 創建Express實例
const app = express();
// 創建路由
app.get('/', function (req, res) {
res.send('Hello World!');
});
// 啟動服務器
app.listen(3000, function () {
console.log('Server listening on port 3000');
});
執行完以上代碼後,在瀏覽器中輸入http://localhost:3000/即可訪問該web應用。
七、Node.js的npm
Node.js的npm(Node Package Manager)是一個包管理器,可以方便地管理Node.js的第三方模塊。
npm可以用於安裝、升級、卸載Node.js模塊,也可以用於查看已安裝模塊的版本等信息。下面是使用npm安裝一個模塊的例子:
// 安裝一個名為express的模塊 npm install express
除此之外,npm還提供了許多其他的命令,如publish、unpublish、init等,可以通過npm help命令查看npm的詳細幫助信息。
原創文章,作者:SNTHC,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371900.html
微信掃一掃
支付寶掃一掃