我正在使用节点js,其中有以下目录:C:\wamp64\www\Scrapper
。在Scrapper
文件夹中,我有:
/Controllers/main.js
/Public/index.html
/server.js
我所做的是,我将main.js
中的index.html
包括为:
<script src="/Controllers/main.js"></script>
此外,我在位于主目录(即server.js
)的节点js /Scrapper
文件中将这两个文件夹声明为静态。当我运行该应用程序时,它说:
http://localhost:8080/Controllers/main.js net::ERR_ABORTED 404 (Not Found)
我在server.js
中声明静态文件的方式是:
app.use(express.static(__dirname + "/Public"));
app.use(express.static(__dirname + "/Controllers"));
app.use(body_parser.json());
我不知道问题是什么。我只想在main.js
中包含index.html
文件。这是一个客户端站点脚本,应在该文件夹中运行。
答案 0 :(得分:1)
例如,您已声明一个静态文件夹,例如
app.use(express.static(path.join(`${__dirname}/assets`)))
在assets
内,您有images
文件夹
然后您可以访问文件
localhost:8080/images/koala-1550238924102.jpg
根据您的情况,您需要这样做
localhost:8080/main.js
答案 1 :(得分:1)
您可以详细查看here。
app.use(express.static(__dirname + "/Public"));
app.use('controllers', express.static(__dirname + "/Controllers"));
访问文件;
http://localhost:<port>/index.html
http://localhost:<port>/controllers/main.js
答案 2 :(得分:0)
const publicStaticDirPath = path.join(__dirname, '../public');
app.use(express.static.(publicStaticDirPath));