node一个简单的web服务器

Posted cuter、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node一个简单的web服务器相关的知识,希望对你有一定的参考价值。

封装的判断请求的后缀名 common.js

const fs = require('fs')
exports.getMine = function (extname) {
  switch (extname) {
    case '.css':
      return 'text/css'
    case '.html':
      return 'text/html'
    case '.js':
      return 'text/javascript'
    default:
      return 'text/html'
  }
}
//异步方法
exports.getFileMime = function (extname) {
  return new Promise((resolve, reject) => {
    fs.readFile('./data/mime.json', (err, data) => {
      if (err) {
        console.log(err)
        reject(err)
        return
      }
      let mimeObj = JSON.parse(data.toString())

      resolve(mimeObj[extname])
    })
  })
}
//异步方法
exports.getFileMime2 = function (extname) {
 var data=fs.readFileSync('./data/mime.json')
 let mimeobj=JSON.parse(data.toString())
 return mimeobj[extname]
}

web服务器

const http = require('http')
const fs = require('fs')
const commom=require('./module/common')
const url=require('url')
const path=require('path')
let str='http://localhost:3000?name=zs&age=18';
console.log(str.split('?'));
http
  .createServer(function (req, res) {
     
    let pathname =url.parse( req.url).pathname
    pathname=pathname==='/'?'/index.html':pathname
   
    //获取文件后缀名
    let extname=path.extname(pathname)
    if (pathname !== '/favicon.ico') {
      fs.readFile('./static' + pathname, (err, data) => {
        if (err) {
          console.log(404)
          res.writeHead(404, { 'Content-Type': 'text/html;charset=UTF-8' })
          res.end('页面不存在')
        }
        let mine= commom.getFileMime2(extname)
        res.writeHead(200, { 'Content-Type': ''+mine+';charset=UTF-8' })
        res.end(data)
      })
    }
   
  })
  .listen(8081)

console.log('Server running at http://127.0.0.1:8081/')

以上是关于node一个简单的web服务器的主要内容,如果未能解决你的问题,请参考以下文章

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

Apollo Codegen 没有找到生成代码的操作或片段

使用 Node.js 作为简单的 Web 服务器

使用 Node.js 作为简单的 Web 服务器

nodejs搭建web服务器就是这么简单!