我使用以下代码来提供静态文件(js,images,css):
app.use(express.static(path.join(__dirname, 'public')));
但是现在图像已经移动到项目中的某个不同位置,即public
目录之外(比方说。images
)。
那么如何区分图像和js,css文件并从不同的位置提供它们呢?
修改
我想我必须阅读请求标头然后决定将请求路由到何处。但对我来说看起来有点脏。
答案 0 :(得分:3)
尝试使用两个不同的端点:
import express from "express";
import {join} from 'path';
const app = express();
const publicPath = express.static(join(__dirname, '../public/'));
const publicImages = express.static(join(__dirname, '../images/'));
app.use('/public', publicPath);
app.use('/images', publicImages);
app.listen(3400, function() {
console.log("Express server listening on port 3400");
});
然后你就像这样使用它:http://localhost:3400/images/
和http://localhost:3400/public/
答案 1 :(得分:0)
在这种情况下,您只需要再添加一个静态文件配置
app.use(express.static(path.join(__dirname, 'images')));
它将作为