计划用node实现了一个后台框架,相关的代码可以从GitHub上找到。地址:https://github.com/rookie-mr/node-native.git
预期实现三个关键点:
- 路由配置
- 中间件使用
- 基本的服务端渲染
问题记录:
- 如何将路由分离
将路由配置部分抽离,路由响应以回调函数的形式在服务启动之前引入绑定
- 动态路由与静态资源请求如何区分
采用动态路由优先原则,如果配置路由中匹配不到则到静态资源目录匹配,仍找不到则响应404
- 服务端渲染思路
读取预返回的页面模板,在匹配到自定义的语法时做相应的处理最后将处理后的结果以页面形式返回
- 长链接响应头
{
"Content-Type": "text/event-stream;charset=utf-8",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Access-Control-Allow-Origin": '*',
}
- 上传文件请求服务端的特殊处理
multipart/form-data时接到的其实是buffer类型的数据而buffer格式的数据,需要用buffer拼接的api来处理,简单的相加会强制转化为字符串导致无法后续进行处理。