先读取页面
//创建文件系统模块
const fs=require('fs');
//创建http服务模块
const http=require('http');
//创建地址模块
const url=require('url');
//创建服务
http.createServer(
(req,res)=>{
//得到请求地址
let path=url.parse(req.url,true).pathname;
console.log(path);
if (path==='/'){
res.setHeader('Content-Type','text/html;charset=utf-8');
fs.readFile('./layui.html','utf-8',(error,data)=>{
if (error) throw error;
res.end(data);
});
}
}
).listen(3001,()=>{
console.log(new Date());
});
因为html引用了外部样式,该外部样式请求暂未处理,所以页面会一直呈现加载状态
这时会发现后台请求地址从 / 变成其他的地址
这时需要我们在后台处理其他地址
//创建文件系统模块
const fs=require('fs');
//创建http服务模块
const http=require('http');
//创建地址模块
const url=require('url');
//创建服务
http.createServer(
(req,res)=>{
//得到请求地址
let path=url.parse(req.url,true).pathname;
console.log(path);
if (path==='/'){
res.setHeader('Content-Type','text/html;charset=utf-8');
fs.readFile('./layui.html','utf-8',(error,data)=>{
if (error) throw error;
res.end(data);
});
}
//我们在这里处理请求为/layui的资源
else if(path.includes('/layui')){
fs.readFile('./'+path,(error,data)=>{
res.end(data);
});
}
}
).listen(3001,()=>{
console.log(new Date());
});
此时页面上请求/layui下的资源成功
注:若需要统一处理外部资源,最方便的方法就是将所有资源统一放入一个文件夹下,这样一个if判断就能解决