koa-dir-router 一个可以让你随意更改接口代码不用重启的koa服务的中间件,神奇的在线更新代码,类koa热更新
在使用koa做接口服务器时,每次更新接口代码都需要重新开启koa服务;是否想每次修改完代码,直接保存就能生效?网上大片大片的这个热更新机制,那个使用pm2等去监听文件修改来重启服务;若是在线上服务器若真的服务器重启或导致段时间内的服务异常;针对这个问题koa-dir-router
中间件可以良好的去处理接口更新的情况。
koa-dir-router
方便的访问
koa-dir-router
中间件使用原理是根据访问的路径去匹配当前目录下的js文件,就好像是php代码似的根据文件路径去访问php代码,修改代码能及时生效
koa-dir-router
跑起来很简单; 简单几行代码就可以;
// ./index.js
const dirRouter = require('koa-dir-router')
const Koa = require('koa')
const path = require('path')
var app = new Koa()
app.use(
dirRouter({
dir: path.join(__dirname, './controller') // Incoming directory structure to access
})
)
app.listen(3000)
之后直接在controller
文件夹内编写响应的接口或者页面代码
例如
// ./controller/mis/type.js 推荐接口写法一个文件一个接口;
module.exports = function(ctx) {
ctx.body = `show-ok`
}
直接访问 http://localhost:3000/mis/type 时会对应到对应的文件目录下的 ./controller/mis/type.js
这个文件代码;
在添加文件或者修改文件;都能实时响应出来;是不是很方便?你只需要注重你的业务代码即可;
【koa-dir-router】 一个友好的捕获异常信息
如果开发时你的代码运行有问题,将会有这样的提示:
明确文件和行号;方便我们找原因;
若是需要捕获线上的bug,可以使用errorLog
参数;传入一个收集的方法,即可获取异常信息
【koa-dir-router】 没有匹配到接口时的处理
若是访问了没有的接口,默认中间件不做什么事情;若是需要处理,该中间件支持你来自定义404的时候;使用page404
参数来传入一个函数来 处理404的时候。