首页 > 解决方案 > Express.js _ 如何使用两个静态视图目录?

问题描述

我试图弄清楚如何在我的应用程序中使用多个目录来提供视图文件,但是我尝试过的一切都不起作用,包括我在这里的帖子中看到的回复。请帮忙。更多目录更酷对吧?哈哈。只是它提供了更好的文件组织和分离,提高了应用程序的效率和安全性。

这就是我想要的。

app.use(express.static('/Users/matt/Desktop/websites/app10.14.2020/views')); app.use(express.static('/Users/matt/Desktop/websites/app10.14.2020/views2'));

当我运行它时,似乎只能访问指定的第一个目录(视图不是 views2)。我希望两者都提供文件。请建议和快乐编码!

标签: node.jsexpress

解决方案


你服务静态的方式是正确的。只需验证路径名称是否正确,我建议使用__dirnamepath.resolve解析静态路径,例如:

app.use(express.static(path.resolve(__dirname,'./static1')))
app.use(express.static(path.resolve(__dirname,'./static2')))

请记住用不同的名称命名您的文件,否则表示忽略具有相同名称的第二个文件...或为每个静态路径创建路径,例如:

app.use('/static1', express.static(path.resolve(__dirname,'./static1')))
app.use('/static2', express.static(path.resolve(__dirname,'./static2')))

推荐阅读