NodeJS HTML和CSS

时间:2016-02-17 00:00:02

标签: html css node.js

我不确定为什么在这里忽略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" />
....

2 个答案:

答案 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的问题。

看来我们在这里分别解决每个请求