gpt4 book ai didi

node.js - Express 静态文件 - 所有路由前缀

转载 作者:太空宇宙 更新时间:2023-11-03 23:44:50 26 4
gpt4 key购买 nike

在我的代码中,我目前有

app.use(express.static(__dirname + "/../styles"))
app.use(express.static(__dirname + "/../public"))
app.use(express.static(__dirname + "/../scripts"))
app.use("/flosses", express.static(__dirname + "/../styles"))
app.use("/flosses", express.static(__dirname + "/../public"))
app.use("/flosses", express.static(__dirname + "/../scripts"))
app.use("/flosses/edit", express.static(__dirname + "/../styles"))
app.use("/flosses/edit", express.static(__dirname + "/../public"))
app.use("/flosses/edit", express.static(__dirname + "/../scripts"))
app.use("/accounts", express.static(__dirname + "/../styles"))
app.use("/accounts", express.static(__dirname + "/../public"))
app.use("/accounts", express.static(__dirname + "/../scripts"))

这非常乏味。我可以做这样的事情吗?

app.use("*",express.static(__dirname + "/../scripts"))

注意:我的 css、js 和图像位于 3 个不同的目录中,我需要/thing1/index.css、/thing2/index.css 等。

谢谢,
阿里

最佳答案

你可以使用这个,在我看来这有点hacky,但它应该可以工作:

// place this after your routes
app.routes.get.forEach(function(r) {
app.use(r.path, express.static(__dirname + '/public'));
});

它仅适用于 GET 路由(因此是 app.routes.get),并且您可能不需要它用于每个路由,因此您可以过滤 r.path 以仅挑选出您需要的路线)。另外,我不确定对性能的影响。

关于node.js - Express 静态文件 - 所有路由前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com