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 會將控制權傳遞給下一個中間件。

此功能非常適合用於提供網站的前端資源,如圖片、樣式表和腳本文件。

posted on 2025-12-23 16:19  漫思  阅读(0)  评论(0)    收藏  举报

导航