梵大的第一道题,怎么构建一个 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 我还没写
- http 模块
- url 处理
- 路由识别,优先级
- 资源识别、响应头设置、压缩、流式输出、缓存
函数实现 next 怎么处理