Node.js
什麼是 Node.js?
Node.js 是一個開源的、跨平台的 JavaScript 執行環境。它允許開發者在伺服器端運行 JavaScript,從而實現全棧開發。Node.js 使用了 Google 的 V8 JavaScript 引擎,這使得它的執行速度非常快。
主要特點
- 非阻塞 I/O: Node.js ��用事件驅動、非阻塞 I/O 模型,使其非常適合於需要高並發的應用程序。
- 單線程: 雖然 Node.js 是單線程的,但它可以處理多個連接,這是通過事件迴圈和回調機制實現的。
- 豐富的生態系統: Node.js 擁有一個龐大的包管理系統(npm),提供了大量的第三方模塊和庫,方便開發者快速構建應用。
使用場景
- Web 伺服器: Node.js 非常適合構建高效的 Web 伺服器。
- API 服務: 使用 Node.js 可以輕鬆構建 RESTful API 和 GraphQL 服務。
- 實時應用: 例如聊天應用、即時通知等需要實時交互的應用。
安裝 Node.js
可以從 Node.js 官方網站 下載並安裝最新版本的 Node.js。
# 在 Windows 或 macOS 上安裝 Node.js
# 下載安裝包並按照提示進行安裝
# 在 Linux 上使用包管理器安裝 Node.js
sudo apt-get install -y nodejs
sudo apt-get install -y npm
Hello World 範例
以下是一個簡單的 Node.js "Hello World" 範例:
// 引入 http 模塊
const http = require('http');
// 創建一個 HTTP 伺服器
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
// 伺服器監聽在 3000 端口
server.listen(3000, '127.0.0.1', () => {
console.log('伺服器運行在 http://127.0.0.1:3000/');
});
以上代碼創建了一個簡單的 HTTP 伺服器,當訪問 http://127.0.0.1:3000/ 時,會返回 "Hello World"。
結論
Node.js 是一個強大且靈活的工具,適合用於構建各種高效能的伺服器端應用。通過學習和使用 Node.js,你可以在全棧開發中充分發揮 JavaScript 的潛力。
Node.js 核心模塊
Node.js 提供了一些內置的核心模塊,這些模塊可以在不需要額外安裝的情況下直接使用。以下是一些常用的核心模塊:
http
http 模塊用於創建 HTTP 伺服器和客戶端。
const http = require('http');
// 創建一個 HTTP 伺服器
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
// 伺服器監聽在 3000 端口
server.listen(3000, '127.0.0.1', () => {
console.log('伺服器運行在 http://127.0.0.1:3000/');
});
fs
fs 模塊提供了文件系統相關的操作,如讀取和寫入文件。
const fs = require('fs');
// 讀取文件
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) throw err;
console.log(data);
});
// 寫入文件
fs.writeFile('example.txt', 'Hello Node.js', (err) => {
if (err) throw err;
console.log('文件已保存');
});
path
path 模塊提供了處理和轉換文件路徑的工具。
const path = require('path');
// 獲取文件名
const filename = path.basename('/foo/bar/baz/asdf/quux.html');
console.log(filename); // 輸出: 'quux.html'
// 獲取文件擴展名
const extname = path.extname('/foo/bar/baz/asdf/quux.html');
console.log(extname); // 輸出: '.html'
os
os 模塊提供了與操作系統相關的實用方法和屬性。
const os = require('os');
// 獲取操作系統的主機名
const hostname = os.hostname();
console.log(hostname);
// 獲取操作系統的空閒內存
const freemem = os.freemem();
console.log(freemem);
events
events 模塊提供了事件驅動的編程接口。
const EventEmitter = require('events');
const myEmitter = new EventEmitter();
// 註冊事件
myEmitter.on('event', () => {
console.log('事件觸發');
});
// 觸發事件
myEmitter.emit('event');
這些核心模塊是 Node.js 提供的強大工具,幫助開發者高效地構建各種應用程序。
Node.js 的管理工具
Node.js 提供了多種工具來幫助開發者管理和維護他們的 Node.js 環境和項目。以下是一些常用的管理工具:
npm (Node Package Manager)
npm 是 Node.js 的默認包管理器,用於安裝、共享和管理項目中的依賴包。
安裝依賴包
# 安裝項目中的所有依賴包
npm install
# 安裝特定的依賴包並將其添加到 package.json 中
npm install <package-name> --save
更新依賴包
# 更新所有依賴包
npm update
# 更新特定的依賴包
npm update <package-name>
移除依賴包
# 移除特定的依賴包
npm uninstall <package-name>
nvm (Node Version Manager)
nvm 是一個用於管理多個 Node.js 版本的工具,允許開發者在不同的 Node.js 版本之間切換。
安裝 nvm
可以從 nvm 官方 GitHub 頁面 下載並安裝 nvm。
使用 nvm
# 列出所有可用的 Node.js 版本
nvm ls-remote
# 安裝特定版本的 Node.js
nvm install <version>
# 使用特定版本的 Node.js
nvm use <version>
# 列出已安裝的 Node.js 版本
nvm ls
yarn
yarn 是另一個流行的包管理器,與 npm 類似,但提供了一些額外的功能和優化。
安裝 yarn
可以從 yarn 官方網站 下載並安裝 yarn。
使用 yarn
# 安裝項目中的所有依賴包
yarn install
# 安裝特定的依賴包並將其添加到 package.json 中
yarn add <package-name>
# 更新所有依賴包
yarn upgrade
# 移除特定的依賴包
yarn remove <package-name>
使用 Node.js 更新 mkdocs.yml
以下是一段使用 Node.js 更新 mkdocs.yml 檔案,將缺失的 Markdown 文件添加到導航中的範例代碼:
這些工具可以幫助開發者更高效地管理 Node.js 環境和依賴包,從而專注於開發工作。