Node.js是什麼?

你可能知道JavaScript可以在瀏覽器裏寫代碼,讓網頁動起來。但Node.js讓JavaScript“走出”了瀏覽器,能在服務器端運行。它就像一個“JavaScript的後端管家”,讓你用熟悉的JavaScript語法來開發後端程序,比如搭建網站服務器、處理數據庫請求等。

Node.js基於Google的V8引擎(就是瀏覽器裏跑JS的那個引擎),讓JavaScript從前端擴展到了後端,實現了“全棧JavaScript開發”。

爲什麼要學Node.js?

對初學者來說,Node.js有幾個特別的優勢:
- JavaScript全棧開發:前後端都用JavaScript,不用學多種語言(比如前端HTML/CSS/JS,後端Python/Java),代碼複用性更高。
- 非阻塞I/O:想象你點外賣,傳統後端可能要“等一個訂單處理完才接下一個”,而Node.js像“同時接10個訂單的服務員”,能高效處理大量併發請求(比如聊天軟件、在線直播)。
- 輕量高效:適合開發小而快的項目,比如個人博客、API接口、即時聊天工具等。
- 豐富生態:通過npm(Node Package Manager,類似前端的包管理器)可以輕鬆安裝各種工具包,比如處理數據庫、文件操作、路由管理等。

安裝Node.js(簡單幾步)

  1. 去官網下載:打開 Node.js官網,推薦選“LTS版本”(穩定版,適合初學者)。
  2. 安裝:Windows/Mac/Linux直接雙擊安裝包,按提示下一步(Windows用戶注意勾選“Add to PATH”,方便命令行調用)。
  3. 驗證安裝:打開命令行工具(Windows用“cmd”或“PowerShell”,Mac/Linux用“終端”),輸入:
   node -v  # 顯示Node.js版本,比如v20.10.0
   npm -v   # 顯示npm版本,比如10.2.3

如果顯示版本號,說明安裝成功!

第一個Node.js程序:“Hello World”服務器

現在,讓我們用Node.js寫一個簡單的HTTP服務器,它會在你訪問時返回“Hello World”。

  1. 創建文件:在電腦任意位置新建一個文本文件,改名爲 server.js(後綴必須是.js)。
  2. 寫代碼
   // 引入Node.js內置的http模塊(處理HTTP請求的工具)
   const http = require('http');

   // 創建服務器實例,處理請求和響應
   const server = http.createServer((req, res) => {
     // 設置響應頭:狀態碼200(成功),內容類型是文本
     res.writeHead(200, { 'Content-Type': 'text/plain' });
     // 響應內容:Hello World
     res.end('Hello World!\n');
   });

   // 讓服務器監聽3000端口(端口號可以改,比如8080)
   const PORT = 3000;
   server.listen(PORT, () => {
     console.log(`服務器已啓動!訪問 http://localhost:${PORT}`);
   });
  1. 運行程序:在命令行進入 server.js 文件所在的文件夾,輸入:
   node server.js

命令行會顯示 服務器已啓動!訪問 http://localhost:3000
4. 測試:打開瀏覽器,輸入 http://localhost:3000,就能看到“Hello World!”啦!

Node.js的核心能力:文件操作與包管理

除了HTTP服務器,Node.js還能做很多事:

1. 文件系統(fs模塊)

fs 模塊可以讀寫本地文件。比如讀取一個文本文件:

const fs = require('fs');

// 異步讀取文件(非阻塞,不卡住其他操作)
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('讀取失敗:', err);
    return;
  }
  console.log('文件內容:', data);
});

注意:需要提前創建 example.txt 文件(比如在同一文件夾下寫點內容),運行 node filename.js 就能看到文件內容。

2. 包管理器(npm)

npm是Node.js的“應用商店”,可以安裝別人寫好的工具包。比如安裝一個生成藝術字的包 figlet
- 安裝包:在命令行執行

  npm install figlet  # 安裝figlet包(--save可以把依賴寫入package.json)
  • 使用包
  const figlet = require('figlet');
  figlet('Node.js真好玩!', (err, data) => {
    console.log(data);
  });

運行後會看到類似“Node.js真好玩!”的藝術字效果。

總結:Node.js入門不難,實踐出成果

Node.js的學習門檻低,代碼直觀,適合初學者快速上手。從“Hello World”服務器開始,逐步嘗試文件操作、調用第三方包,你就能感受到用JavaScript開發後端的樂趣。

後續可以學習Express框架(簡化路由、中間件等),或者開發簡單的全棧項目(比如帶數據庫的博客)。記住:編程最重要的是動手實踐,別怕犯錯,多敲代碼就能進步!

現在,試着寫一個自己的“小項目”吧——比如用Node.js搭建一個簡單的待辦事項列表API,或者讀取本地圖片並返回給瀏覽器!

小夜