有没有什么办法不用框架就可以让html和js代码分离,每写一句html都要用引号和加号忒麻烦. 怎样用nodejs读取一个html文件?readFile()?readFile的结果怎么返回到浏览器显示呢?
7 回复
- 分离js和html,可以用模板啊,有好多:mustache,javascript-template,juicer等等
- 读取html并返回可参考以下代码:
fs.readFile(file_path, "binary", function(err, file) {
if (err) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.end(err);
}
else {
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.write(file, "binary");
response.end();
}
});
我现在的程序是这样的,file_path用绝对路径时可以正常返回数据,但用"./index.html"这个相对路径时,就异常关闭
var http = require("http");
http.createServer(function(request, response) {
var file_path = "./index.html";
require("fs").readFile(file_path, "binary", function(err, file) {
if (err) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.end(err);
}
else {
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.write(file, "binary");
response.end();
}
}); }).listen(8888);
console.log("服务启动...");