」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Node.js 基礎知識

Node.js 基礎知識

發佈於2024-11-08
瀏覽:899

Node.js Basics

Node.js 是一個 JavaScript 執行環境,允許開發人員在 Web 瀏覽器之外執行 JavaScript 程式碼。它基於Chrome 的V8 JavaScript 引擎構建,採用事件驅動、非阻塞I/O 模型,使其輕量級、高效,非常適合需要處理多個並發連接的數據密集型應用程序,例如Web 伺服器、API、和即時應用程式。

Node.js 的關鍵面向包括:

非同步:同時處理多個請求,無需等待操作完成。

單執行緒: 在單一執行緒上運行,但使用事件循環來有效管理許多任務。

跨平台:可以部署在Windows、macOS和Linux上。

NPM(節點套件管理器): 可用於簡化開發的龐大函式庫和工俱生態系統。

Node.js 讓開發人員能夠在伺服器端使用 JavaScript 建立可擴展的高效能應用程式。

以下是 Node.js 的前 5 個功能以及每個功能的範例:

1.非同步與非阻塞 I/O

Node.js 允許非同步執行函數,這表示伺服器可以同時處理多個請求,而無需等待操作完成。

例子:

const fs = require('fs');

// Asynchronous file reading
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error("Error reading file:", err);
    return;
  }
  console.log("File content:", data);
});

console.log("This prints before the file content is read!");

說明:以非阻塞方式讀取文件,允許在等待文件操作完成的同時執行其他程式碼。

2.帶事件循環的單線程

儘管是單線程的,Node.js 使用事件循環來有效地處理多個並發請求。

例子:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

說明:事件循環允許伺服器處理多個傳入請求,而無需為每個請求建立新執行緒。

3.使用 V8 引擎快速執行

Node.js 基於 Google 的 V8 JavaScript 引擎構建,以其速度和效能而聞名。

例子:

console.time('Execution Time');

let sum = 0;
for (let i = 0; i 



說明:由於V8引擎的最佳化,程式碼計算數字總和並使用console.time來示範其執行速度。

4。 NPM(節點套件管理器)

Node.js 有一個內建的套件管理器 NPM,它可以存取數千個開源程式庫和工具。

例子:

npm install express

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Express server listening on port 3000');
});

說明:在此範例中,我們安裝並使用 Express 框架(一種透過 NPM 提供的熱門 Web 框架)來建立一個簡單的 Web 伺服器。

5。跨平台相容性

Node.js 應用程式可以跨不同平台部署,例如 Windows、macOS 和 Linux。

例子:

const os = require('os');

console.log('Platform:', os.platform());
console.log('Architecture:', os.arch());

說明:此腳本使用 os 模組來檢查並列印目前平台和系統架構,展示了 Node.js 跨不同環境工作的能力。

這些功能使 Node.js 具有高度通用性,可用於建立高效能、可擴展的應用程式。

版本聲明 本文轉載於:https://dev.to/mrcaption49/nodejs-introduction-part-1-5c4a?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3