前面也讲述了,nodejs没有web容器,访问使用/filename是无法访问文件的,需要通过路由判断然后fs.readFile读取文件才可以!
项目作用,设置一个目录当做静态资源的根目录,类似于Apache的根目录,可以使用/filename访问,不存在文件反馈404页面!
案例代码:
/作业解析,使用readfile实现静态页面访问(雷同于Apache根目录);
const http=require("http");
const url=require("url");
const fs=require("fs");
const path=require("path");
const server=http.createServer(function(req,res){
// 不管用户输入什么网址,得到结果一样
// 获取用户的url网址,pathname(路径部分,不包括查询)
var pathname=url.parse(req.url).pathname;
// 判断用户输入的url是一个文件还是文件夹,文件夹的情况自动追加文件夹下的index.html文件
if(pathname.indexOf(".")==-1){
//不存在.则表示访问的是文件夹,后面追加/index.html
pathname+="/index.html"
}
// 获取请求的资源路径(页面内包含引用资源,调取什么的不是直接关系的文件)
// path.normalize格式化请求路径(请求的文件追加在static
总结:indexOf()判断字符是否存在,JSON.parse(data)转为data类型,重要的是回调的嵌套!判断出对应的mime类型可以对应类型显示!mime类型不正确,则请求资源不存在