我们现在千万不要进入Apache的世界难以自拔,Apache是一个怎样的世界,是一个物理文件和URL一一对应的世界.
比如:
此时:
http://127.0.0.1/a/1.html
但是NodeJS没有根目录的概念,没有URL和物理文件一一对应的关系.此时,如果我们的html页面上,视图插入一张图片
<img src="0.jpg">
此时这个0.jpg实际的URL是:
http://127.0.0.1/0.jpg
你没有给他做路由!!所以必须:
var http=require("http");
var fs=require("fs");
var server=http.createServer((req,res)=> {
//统一设置一下header
res.setHeader("Content-Type","text/html;charset=UTF-8;");
if(req.url=="/haha.html"){
//haha.html是路由,b.html才是文件
fs.readFile("./b.html",function(err,data){
res.end(data);
})
}else if(req.url=="/0.jpg"){
fs.readFile("./0.jpg",function(err,data){
res.end(data);
})
}else{
res.end("");
}
});
server.listen(3000);
这是完整的代码,重点是这个:
if(req.url=="/0.jpg"){
fs.readFile("./0.jpg",function(err,data){
res.end(data);
})
此时才能往页面中插入图片.
我们要制作一个静态资源管理器,但是需要储备知识,url模块和path模块.