gpt4 book ai didi

html - Node : Served html page not linked to css

转载 作者:行者123 更新时间:2023-11-28 00:15:39 25 4
gpt4 key购买 nike

我在 nodejs 中运行了以下基本脚本,以提供具有关联 css 样式表的 html 文件:

var http = require('http');
var fs = require('fs');
var path = require('path');

var serverPort = 8080;

var server = http.createServer(function(request, response) {

console.log('request starting ...');
var extname = path.extname(request.url);

var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}

fs.readFile('js/EmailDisplay/htm/index.html', function(error, content) {
if (error) {
console.log(error);
response.writeHead(500);
response.end();
} else {
console.log(contentType);
response.writeHead(200, {'Content-Type': contentType});
response.end(content,'utf-8');
}
});
});

server.listen(serverPort);
console.log('Server running at localhost:' + serverPort +"/");

如果我在 Firefox 中打开文件(文件 -> 打开文件),它会正确呈现。如果我转到 localhost:8080,则会提供索引页面,但没有应用样式。为什么? fs.readFile block 中的 console.log 显示正在读取两个文件。

PS - 我知道有一些包可以让我盲目地这样做(例如“连接”),但我试图在走那条路之前了解实际发生的事情。

最佳答案

问题可能出在这一行:

 fs.readFile('js/EmailDisplay/htm/index.html', function(error, content) {

即使在请求 .js.css 时,您正在读取并返回给客户端相同的 html 文件。

您可能应该在代码前面的开关中根据文件的内容类型设置文件路径。

关于html - Node : Served html page not linked to css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302368/

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