关于fs.readFile&#;40&#;41和response.write()的问题
var http = require("http");
var fs = require("fs");
http.createServer(function(req, res){
fs.readFile(__dirname + "/views/test.html", "utf8", function(err, content){
if(!err){
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.write(content);
res.end();
}
})
}).listen(8080, function(){
console.log("server started")
})
test.html
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="../static/js/data.js"></script>
</head>
<body>
<h1>Hello world.</h1>
<img src="http://news.baidu.com/resource/img/logo_news_137_46.png" />
</body>
</html>
现在的问题是 在我没有在head部分加≶script type=“text/javascript” src="…/static/js/data.js"></script> 的时候访问页面是正常的,加了之后页面虽然可以显示 ,但是会报一个 syntax error [在此错误处中断]
<!DOCTYPE HTML> 的错误,引入的脚本运行不了。
如果要render一个页面并且有外部js文件的时候,应该怎么去读取和输出呢?
PS : 发布内容的编辑器在插入非code的时候木有过滤掉标签 ,我手动在编辑器里替换掉的大于号小于号, 这样怕是不安全哦
2 回复
‘引入脚本’也是个http请求啊,你的服务器没处理这部分逻辑当然就出错了
噢 ,了解了, 汗,我还特意引入了一个image但是地址用的百度上的网络图片,改用本地图片是显示不出来的。嗯,这下知道要做哪些处理了,多谢兄台提醒。