我尝试使用快递将资源加载到我的EJS文件,但它不起作用。我只收到消息
无法获取/assets/main.css
即使我在主应用程序中制作了加载程序:
app.use(express.static(path.join(__dirname, './assets')));
并且在打印路径后,我看到它正确并且文件存在。所以使用后
<link href="assets/main.css" rel="stylesheet">
我无法访问该文件。问题出在哪里?
答案 0 :(得分:1)
请参阅Serving static files in Express。
现在,您的app.use(...)
声明说:我希望每次导航到我的应用时都会提供目录./assets
,换句话说,当我打开浏览器http://localhost
时,提供文件夹./assets
中的任何内容。
然后您尝试访问main.css
处的文件http://localhost/assets/main.css
。它不在那里,它在http://localhost/main.css
。
您有两个选择:
<link>
标记更改为指向资产的实际位置:<link href="main.css" rel="stylesheet">
app.use()
更改为托管其他终端的./assets
文件夹:app.use('/assets', express.static(path.join(__dirname, './assets')));