Skip to content

使用 Node.js 实现简单的 Express 入口

Published: at 03:14 PMSuggest Changes

梵大的第一道题,怎么构建一个 express,入口函数实现。

这儿指的应该不是用 express,用 express 太简单了。。

应该是用 node 的 api 实现一个简单的 express。

const http = require('http');
const url = require('url');
const fs = require('fs');

http
  .createServer(function (req, res) {

    let { url: requestUrl } = req
    let q = url.parse(requestUrl, true);

    var filename = '.' + q.pathname;

    fs.readFile(filename, function (err, data) {
      if (err) {
        res.writeHead(404, { 'Content-Type': 'text/html' });
        return res.end('404');
      }
      res.writeHead(200, { 'Content-Type': 'text/html' });
      res.write(data);
      return res.end();
    });
  })
  .listen(8080);

后记

开始我没加入

res.writeHead(200, { 'Content-Type': 'text/plain;charset=utf-8' });

这行代码,然后返回的中文是乱码的

然后我查了一下资料加上了这段话就好了。

等一下,还有,这是第一题的具体要求,我只写了简单的 http 模块,url 处理

还有 3、4 我还没写

  1. http 模块
  2. url 处理
  3. 路由识别,优先级
  4. 资源识别、响应头设置、压缩、流式输出、缓存

函数实现 next 怎么处理


Previous Post
CSS hover 的用法详解及示例
Next Post
React 性能优化之 React.memo