zhx119

静态html返回

在这篇文章中我们介绍后台路由的概念,后台的路由根据路径返回相应的内容,

首先我们建立一个服务器

let port = 3000 //监听端口
let fs = require (\'fs\')//用来生成可读流
let http = require (\'http\')
let url = require (\'url\')//把路径解析成一个对象
let path = require(\'path\')//用来拼接拼接路径
let mime = require(\'mime\')//设置header的文件类型

路由在这里根据不同的路径返回不同的内容
1.如果访问的是/显示主页html
2.如果是文件将文件读取返回
3.如果是文件夹,默认去找html
4.文件不存在,返回404
例如:
http.createServer (function (req,
res) {
let {pathname, query} = url.parse (req.url, true)//true的作用是将query转换成一个对象
//fs.stat文件状态
fs.stat(\'.\'+pathname,function (err,stats) {
if (err){
res.statusCode = 404//找不到就返回404
res.end(`${pathname} not found`)
} else if(stats.isFile()){//是文件的情况下
res.setHeader(\'Content-type\',mime.getType(pathname)+\';charset=utf8\')//设置头步返回正确的内容
fs.createReadStream(\'.\'+pathname).pipe(res)//根据不同的路径返回不同的内容
}else if (stats.isDirectory()){//如果是文件夹情况下
res.setHeader(\'Content-type\',mime.getType(pathname)+\';charset=utf8\')
let p = path.join(\'.\'+pathname,\'./inde.html\');
}
})
通过以上的四种情况判断就可以根据路由返回相应的正确内容,主要的意思根据后端的路由返回前端需要的内容
发表于 2018-11-18 09:43  zhx119  阅读(681)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-12-05
  • 2022-12-23
  • 2021-12-05
  • 2021-10-28
  • 2021-12-05
  • 2021-12-15
  • 2021-08-12
  • 2022-03-08
猜你喜欢
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
  • 2021-12-05
  • 2021-09-23
  • 2021-07-06
  • 2022-02-15
相关资源
相似解决方案