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服务器的主要内容,如果未能解决你的问题,请参考以下文章

node一个简单的web服务器

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

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

基于node开发的web应用,负载均衡的简单实践

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

node 环境下简单web服务器搭建代码