我正在运行nodejs的本地副本,并且已经采用了一些代码来运行Web服务并在启动时引用本地index.html
。该服务在我的桌面上本地运行。
我一直在玩CSS,并且发现无论我做什么,样式表都没有加载,从样式表中获取配置并将其放在一些<style>
元素中工作正常。但由于某种原因,它并没有阅读样式表。
样式表的位置为:c:\program files\nodejs\default.css
HTML code:
<link rel="stylesheet" type="text/css" href="default.css" />
此位置与index.js
,index.html
位于同一位置。有权限等来读取文件。
任何可能无法加载的想法。
index.js
代码:
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res){
fs.readFile('index.html', function (err, data){
res.writeHead(200, {
'Content-Type': 'text/html',
'Content-Length' : data.length
});
res.write(data);
res.end();
});
}).listen(1337, '127.0.0.1');
答案 0 :(得分:1)
您的服务器:
http.createServer(function (req, res){ fs.readFile('index.html'
...配置为忽略请求中的所有内容,并始终返回index.html
。
因此,当浏览器请求样式表时,它会被赋予index.html
。
您需要注意路径并使用适当的内容类型提供适当的内容。
这可能最好通过为Node找到静态文件服务模块(Google出现node-static)(或用Lighttpd或Apache HTTPD替换Node)来完成。
如果您想提供动态内容和静态内容,那么Express是一种受欢迎的选择(并且support for static files)。