我想像这样构建我的公用文件夹:
- public
- frontend
- backend
- assets # to serve common css, and js static files for backend/frontend
如果请求以/admin 为前缀,那么我想为后端文件夹提供服务,否则为前端文件夹 这是我试过的
app.use(function(req, res, next) {
if (req.url.match('^\/admin')) {
express.static(__dirname + '/public/admin')(req, res, next);
} else {
express.static(__dirname + '/public/frontend')(req, res, next);
}
});
app.use(express.static(__dirname + '/public/assets'));
app.get('*', function(req, res, next) {
if (req.url.match('^\/admin')) {
res.sendFile(__dirname + '/public/admin/app/views/index.html');
} else {
res.sendFile(__dirname + '/public/frontend/app/views/index.html');
}
});
但我无法从 assets 文件夹中获取静态文件,它一直给我 index.html。 使它起作用的正确方法是什么?非常感谢
最佳答案
如果我正确理解了您的问题,我认为这样的方法更合适。
app.use('/admin', express.static('public/backend'));
app.use('/', express.static('public/frontend'));
关于node.js - ExpressJs 服务多个静态文件夹不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32866892/