0%

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);

后记

开始我没加入

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

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

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

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

还有3、4我还没写

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

函数实现
next 怎么处理