在我的代码中,我目前有
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"))
注意:我在3个不同的目录中有我的css,js和图像,我需要/thing1/index.css,/thing2/index.css,etc。
谢谢,
阿里
答案 0 :(得分:1)
你可以使用这个,这是一个有点hacky IMO但它应该工作:
// 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
上过滤只选择你需要的路线)。另外,我不确定性能影响。
答案 1 :(得分:1)
为什么不直接在网站的根目录中引用静态内容,而不是将它们添加到应用程序URI的每个级别?
这是大多数人所做的,以及这些框架的设计目标。