如何访问node.js中的静态文件

时间:2019-02-25 08:11:21

标签: node.js express

我正在使用节点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文件。这是一个客户端站点脚本,应在该文件夹中运行。

3 个答案:

答案 0 :(得分:1)

例如,您已声明一个静态文件夹,例如

app.use(express.static(path.join(`${__dirname}/assets`)))

assets内,您有images文件夹

enter image description here

然后您可以访问文件

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));