Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 下 Node.js Express 框架快速入門:從安裝到首個 Web 服務

編輯:關於 Linux

Express 是 Node.js 最經典的 Web 框架,以極簡中間件機制和靈活路由著稱。本文針對 Linux 環境,演示從環境準備、Express Generator 安裝、項目脚手架生成、依賴安裝到服務啟動與訪問驗證的標準化流程,並說明模板引擎選擇與常見坑點。

一、環境準備:Node.js 與 npm

# 方式 1:節點版本管理器 nvm (推薦,多版本切換)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts   # 安裝長期支持版 (如 v20.x)
nvm use --lts

# 方式 2:包管理器 (版本可能較舊)
# RHEL/CentOS: yum install nodejs npm (需啟用 EPEL)
# Debian/Ubuntu: apt-get install nodejs npm
# Fedora: dnf install nodejs npm

# 驗證
node --version   # v20.15.0
npm --version    # 10.7.0

二、安裝 Express Generator (脚手架工具)

npm install -g express-generator
# 全局安裝,提供 `express` 命令

# 驗證
express --version   # 4.18.x

注意:Express 4.x 核心庫不再內置 CLI,必須單獨安裝 express-generator,否則 express 命令不存在。

三、創建項目:選擇模板引擎

命令模板引擎特點
express myappJade/Pug (默認)縮進敏感、簡潔、學習曲線稍陡
express --view=ejs myappEJS類 HTML 語法、易上手、適合前端協作
express --view=hbs myappHandlebars邏輯少、預編譯快、適合大型團隊
express --view=pug myappPug (Jade 更名)同 Jade,現代版本
express --no-view myapp無視圖 (純 API)REST API、微服務首選

示例:創建 EJS 模板項目

express --view=ejs myfirstexpress
cd myfirstexpress
ls
# 輸出目錄結構:
# app.js           入口文件
# bin/www          啟動腳本
# package.json     依賴清單
# public/          靜態資源 (css, js, images)
# routes/          路由模塊
# views/           模板文件 (.ejs)

四、安裝依賴並啟動

npm install
# 讀取 package.json 下載所有依賴至 node_modules/

# 開發模式啟動 (需安裝 nodemon: npm install -g nodemon)
nodemon ./bin/www
# 或生產模式
npm start
# 實際執行: node ./bin/www

五、驗證服務

瀏覽器訪問 https://127.0.0.1:3000 或 curl https://127.0.0.1:3000,應看到「Welcome to Express」頁面。

六、核心文件解析

1. app.js - 應用工廠

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

// 視圖引擎設置
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

// 中間件鏈
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

// 路由掛載
var indexRouter = require('./routes/index');
app.use('/', indexRouter);

// 錯誤處理
app.use(function(err, req, res, next) { ... });

module.exports = app;

2. routes/index.js - 路由邏輯

var express = require('express');
var router = express.Router();

router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

3. views/index.ejs - 模板



<%= title %>

  

<%= title %>

Welcome to <%= title %>

七、常見問題與最佳實踐

問題解決方案
express: command not found未安裝 express-generator 或 npm 全局 bin 目錄不在 PATH 中
端口 3000 被佔用lsof -i :3000 找到進程殺掉,或修改 bin/www 中 port = 3001
模板渲染錯誤確認 app.set('view engine', 'ejs') 與文件後綴一致,視圖路徑正確
靜態文件 404檢查 express.static('public') 路徑,URL 不含 /public 前綴
生產環境部署使用 PM2: pm2 start bin/www --name myapp,配置 Nginx 反向代理,啟用 HTTPS、Gzip、靜態緩存

八、進階:REST API 模式 (無視圖)

express --no-view api-server
cd api-server
npm install
# 安裝常用中間件
npm install cors helmet morgan dotenv

# app.js 精簡版
const express = require('express');
const app = express();
app.use(require('cors')());
app.use(require('helmet')());
app.use(express.json());

app.get('/api/health', (req, res) => res.json({ status: 'ok' }));
app.use('/api/users', require('./routes/users'));

module.exports = app;

Express項目結構圖

九、總結

  1. 安裝 express-generator 獲取 express CLI。
  2. 用 express --view=ejs myapp 生成標準項目結構。
  3. npm install 安裝依賴,npm start 啟動。
  4. 瀏覽 https://localhost:3000 驗證。
  5. 生產環境:PM2 進程管理 + Nginx 反代 + HTTPS + 日志聚合。

十分鐘構建生產級 Node.js Web 服務基礎架構,Express 的極簡哲學讓您專注於業務邏輯而非框架樣板。

Copyright © Windows教程網 All Rights Reserved