使用node的http创建服务器读取网站


  1. 使用node的http创建服务器读取网站

    const http = require('http')
    const fs = require('fs')
    const path = require('path')
    const url = require('url')
    
    
    const getMime = (name) => {
      switch (name) {
        case '.html':
          return 'text/html'   // html
        case '.css':
          return 'text/css'   // 样式文件
        default:
          return 'text/plain' // 图片文本
      }
    }
    // 读取整个网站
    // 使用 热更新 nodemon, 必须 npm init 初始化http文件夹,生成package.json ,将main指向当前正在运行的文件
    http.createServer((request, response) => {
      let requestUrl = url.parse(request.url).pathname
      if (requestUrl === '/') {
        requestUrl = '/index.html'
      }
      // 图片css等会发起多次请求
      // 取出文件后缀名字 !important
      let extname = path.extname(requestUrl)
      let mime = getMime(extname)
    
      // path.resolve(__dirname) 获取当前文件夹前的绝对路径
      fs.readFile(path.resolve(__dirname, '../xiaou') + requestUrl, (error, data) => {
        if (error) {
          console.log('我错了');
        } else {
          response.writeHead(200, { 'Content-type': mime })
          response.end(data)
        }
      })
    }).listen('3000', '127.0.0.1', () => {
      console.log('server is running...');
    })
    

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录