【发布时间】:2020-05-19 17:30:07
【问题描述】:
我的文件夹结构是:
APP
-public
main.js
-views
index.html
index.js
我正在尝试提供静态文件以表达服务器,但它无法正常工作。我的 index.js 文件中的代码是:
const express = require('express'),
app = express();
app.use(express.static(__dirname+'/public'));
我也尝试过使用 path.join 语法
在视图文件夹中的 index.html 文件中,我使用 src 标记作为“main.js”
<script type="text/javascript" src="main.js"></script>
我收到错误 net::ERR_FILE_NOT_FOUND。 我还可以看到 src 所指的路径是错误的。 它正在视图目录中查找 main.js 文件,而不是在公共目录中查找。
我看过其他答案。我从理论上理解语法,但无法找到我做错了什么
请指出我的代码中的问题。谢谢
【问题讨论】:
-
你试过
app.use(express.static(__dirname+'../public')); -
刚刚试了一下..得到同样的错误
-
大声笑.. 很抱歉,我认为
index.js文件在另一个目录中。我刚刚检查了他们现在建议这种方法的文档app.use(express.static('public')) -
没有问题:)..我也试过了,没用...事实上最好使用绝对路径,这样即使我们从其他地方访问静态文件,路径也是有效的项目目录..我以前做过很多次..不知道这次似乎是什么问题..
-
嗨..我能够解决这个问题...我刚刚在我的项目目录中添加了 index.html 而没有在任何路线中提供文件..所以在我的路线中我添加了像 res.sendFile('index.html) 一样呈现我的 index.html 文件的代码..它起作用了。