在Express中提供静态文件

时间:2017-12-17 19:44:02

标签: javascript node.js express

我正在构建一个简单的Web应用程序,它从API中获取一些数据并将其显示给用户。

目前我有两条路线,' /'和' / tables /:id'。两者都呈现出一个ejs。我也设置了静态文件夹:

app.use(express.static('public'));

当我尝试使用tables /:id路由时,出现以下错误:

Failed to load resource: the server responded with a status of 404 (Not 
Found) table.js

table.js是一个js文件,它在路由呈现的ejs中链接。它位于名为js的目录中,该目录位于公共目录中,在我的服务器代码中设置为静态目录。

在服务器端,我得到以下日志:

GET /table/js/table.js 404 2.468 ms - 156

所以出于某种原因,服务器试图从public / table / js而不是public / js中获取js文件,后者就是我认为它会做的。

所以经过一些搜索后,我将以下内容添加到我的代码中,它开始正常工作:

app.use('/table', express.static('public'));

由于我不知道表达得很好,而且我没有在他们的文档中找到任何解决方案,我想知道是否有办法为所有路由服务所有静态文件而不必为每个单独的子根设置静态?

0 个答案:

没有答案