我不确定为什么在这里忽略CSS。为了能够在HTML中使用CSS,我是否需要使用NodeJS?它与标签的“类型”属性有关吗?
NodeJS代码:
app.get('/', function(request, response){
response.sendFile('/home/ubuntu/index.html');
});
HTML code(index.html):
....
<link href="styles.css" rel="stylesheet" type="text/css" />
....
答案 0 :(得分:2)
你的Node.js代码说:
当浏览器请求/
发送文件的副本index.html
您没有处理此案例的任何代码:
当浏览器请求/styles.css
。
您需要处理这种情况(可能通过编写与您的文件系统匹配任意请求的通用内容,您可以通过查找静态主机库来执行此操作 - 例如使用the express framework及其{{3 }})。
也就是说,如果您只是要提供静态文件,那么您可能根本不使用Node并使用一般的网络服务器。
答案 1 :(得分:0)
解决此问题后,我的解决方案如下。
http.createServer(function(req, res) {
if (req.url === '/') {
fs.readFile('menu.html', function (err, data) {
if (err) throw err;
res.writeHeader(200, {"Content-Type": "text/html"});
res.write(data);
res.end();
});
}
else if (req.url === '/menu.css') {
fs.readFile('menu.css', function(err, data) {
if (err) throw err;
res.writeHead(200, {'Content-Type': 'text/css'});
res.write(data);
res.end();
});
}
}).listen(PORT);
作为一个初学者,我很难理解如何调试此问题。但是使用console.log(req.url),我可以弄清楚服务CSS的问题。
看来我们在这里分别解决每个请求