我的应用中有不同的路径,如:
/a
/a/:b
/a/:/b/:c/:d
对于像/a
这样的路径,我使用:
app.use(express.static(path.join(__dirname, 'public')));
对于像/a/:b
这样的路径,我会添加另一个像这样的路径:
app.use('/a', express.static(path.join(__dirname, 'public')));
不是为每个路径添加express.static
,而是使用正则表达式使用单行代码实现此目的。
类似的东西:
app.use(/\/[a-z]*/, express.static(path.join(__dirname, 'public')));
// BTW, this doesn't work
为多个路径提供静态文件的好习惯是什么?谢谢。
答案 0 :(得分:0)
您可以重定向以添加尾部斜杠:
app.all(/\/[a-z]*/, function(req, res) {
res.redirect('/static/');
});
app.use('/static/', express.static( __dirname + '/public' ));
答案 1 :(得分:0)
我通过将所有静态链接添加为预斜线来解决这个问题 例如:
<link href='/lib/csss/bstrap.min.js' />
而不是
<link href='lib/csss/bstrap.min.js' />