返回博客

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

使用 Node.js 的 http 模块和 url 模块构建一个简单的 Express 风格的服务器,实现基本的路由和文件读取功能,包含对中文乱码的处理。文章还列出了后续需要实现的功能,例如路由优先级、资源识别、响应头设置、压缩、流式输出和缓存等。

Mt.r
|

梵大的第一道题,怎么构建一个 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 怎么处理