koa2 和express 如何托管静态网站
koa2 和express 如何托管静态网站
1、koa2的能力
安装koa-static koa-mount
const koaStatic = require('koa-static');
const koaMount = require('koa-mount');
//托管静态资源文件
const serverPath = path.join(__dirname, '/assets');
console.log(serverPath);
//2级静态托管
app.use(koaMount('/assets', koaStatic(serverPath)));
2、express
express.static 是 Express.js 中的一個內建中間件,用於提供靜態文件(如圖片、CSS 文件和 JavaScript 文件)。它通過指定一個目錄來提供靜態資源,讓用戶可以直接訪問這些文件。
基本用法
以下範例展示如何使用 express.static 提供靜態文件:
const express = require('express');
const app = express();
// 提供 public 目錄中的靜態文件
app.use(express.static('public'));
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000');
});
在上述範例中,public 目錄中的文件可以通過以下 URL 訪問:
-
http://localhost:3000/images/example.jpg
-
http://localhost:3000/css/style.css
高級用法
-
設置虛擬路徑前綴 可以為靜態文件設置一個虛擬路徑前綴,這樣實際的文件路徑不會暴露: app.use('/static', express.static('public')); 現在,public 目錄中的文件需要通過 /static 前綴訪問,例如: http://localhost:3000/static/images/example.jpg
-
使用絕對路徑 為了避免相對路徑的問題,可以使用 Node.js 的 path 模塊設置絕對路徑:
const path = require('path');
app.use('/static', express.static(path.join(__dirname, 'public')));
注意事項
-
如果需要提供多個靜態目錄,可以多次使用 express.static,Express 會按照聲明順序查找文件。
-
如果請求的文件不存在,Express 會將控制權傳遞給下一個中間件。
此功能非常適合用於提供網站的前端資源,如圖片、樣式表和腳本文件。
漫思
浙公网安备 33010602011771号