Javascript 即使呈现了所有内容,浏览器也会尝试加载
我已经在NodeJS中编写了呈现html文件的代码。但是,即使文件已完全渲染,浏览器仍会尝试加载该文件Javascript 即使呈现了所有内容,浏览器也会尝试加载,javascript,node.js,Javascript,Node.js,我已经在NodeJS中编写了呈现html文件的代码。但是,即使文件已完全渲染,浏览器仍会尝试加载该文件 var http = require('http'); var fs = require('fs'); var reqHandler = function (req, res) { if (req.url == "/") { res.writeHead(200, { 'Content-Type': 'text/html' }); fs.createRead
var http = require('http');
var fs = require('fs');
var reqHandler = function (req, res) {
if (req.url == "/") {
res.writeHead(200, { 'Content-Type': 'text/html' });
fs.createReadStream('index.html').pipe(res);
}
};
http.createServer(reqHandler).listen(3000);
上面的代码有什么错误
我想我有问题,但不知道如何解决这个问题。index.html文件包含一个javascript文件。当我注释脚本标记时,浏览器正确加载了html文件。但是,当包含脚本标记时,浏览器将被卡住。我认为浏览器需要javascript文件。如何发送javascript文件 您还需要通过返回404(“未找到”)来处理对JS文件的请求,以及任何其他“意外”请求(如大多数浏览器将在引擎盖下请求的
/favicon.ico
):
显然,如果您想添加更多文件,这将变得非常乏味,因此像这样的模块,甚至像这样的框架可能会很有用。在我的windows机器上运行良好。。。如果您正在linux上工作,请尝试更改目录权限!在Mac上工作。不确定“仍然尝试加载文件”是什么意思。你尝试过哪种浏览器?我正在windows机器和chrome浏览器上尝试。网页标题附近有一个圆圈,并不断旋转。同样的事情也发生在firefox上。在底部,我可以看到一条消息“Waiting for localhost”,您必须使用
res.end()
来结束来自不工作的服务器的响应。我想我有问题,但不知道如何解决这个问题。index.html文件包含一个javascript文件。当我注释脚本标记时,浏览器会正确加载html文件。但是当包含脚本标记时,浏览器就卡住了。我认为浏览器需要javascript文件。我怎么解决这个问题?明白了。谢谢。
var reqHandler = function (req, res) {
if (req.url === '/') {
res.writeHead(200, { 'Content-Type': 'text/html' });
fs.createReadStream('index.html').pipe(res);
} else if (req.url === '/script.js') {
res.writeHead(200, { 'Content-Type': 'text/javascript' });
fs.createReadStream('script.js').pipe(res);
} else {
res.writeHead(404);
res.end();
}
};