gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 02:48:16 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com