javascript - 获取javascript时Node.js HTML页面错误404

标签 javascript html node.js http-status-code-404

我正在使用 node.js,我希望我的 HTML 文件能够获取 javascript 文件。

这是我使用 node.js 运行的名为 server.js 的文件:

var app = require('express')();
var http = require('http').Server(app);

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});

用于托管 index.html 的非常简单的代码。这个 HTML 文件有一些脚本标签:

<script type="text/javascript" src="./A.js"></script>

<script type="text/javascript" src="./B.js"></script>

<script type="text/javascript" src="./C.js"></script>

问题是,当我运行 server.js 并转到浏览器时,我在控制台上收到以下错误:

GET http://localhost:3000/A.js 
GET http://localhost:3000/B.js 
GET http://localhost:3000/C.js 404 (Not Found)

404 error not found

这些文件都在同一个目录中,我不明白为什么它没有获取脚本。

最佳答案

你的 server.js 不知道如何处理除了根页面请求之外的任何事情。 (即使是 http://localhost:3000/index.html 也会失败并返回 404。)

添加express.static middleware从目录提供文件:

var express = require('express');
var app = express();
var http = require('http').Server(app);

express.static('public')

app.get('/', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});

现在 public 文件夹中的所有文件都将按您的意愿提供。 (将您的 *.js 文件移动到名为 public 的子文件夹)

参见 HyperDev default project template一个很好的互动示例。

关于javascript - 获取javascript时Node.js HTML页面错误404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40595535/

相关文章:

javascript - Jquery 将两个值相加,返回两个值的总和

javascript - 当链接位于另一个链接上方时,如何触发点击事件?

javascript - 如何在登录后根据用户刷新数据而不重新加载页面?

html - 表单元素中的空格

html - 为什么大多数元素都分配给一个类而不是一个 ID?

javascript - 插入和选择时如何获取查询结果的数量?

javascript - mongo聚合计算字段中的唯一元素

javascript - Datamap 的 D3 气泡不显示

node.js - Sequelize.js 事务不回滚

Javascript字符串包含 "&nbsp"无法匹配