koa-dir-router 一个可以让你随意更改接口代码不用重启的koa服务的中间件

154 阅读2分钟
原文链接: juejin.im

在使用koa做接口服务器时,每次更新接口代码都需要重新开启koa服务;是否想每次修改完代码,直接保存就能生效?网上大片大片的这个热更新机制,那个使用pm2等去监听文件修改来重启服务;若是在线上服务器若真的服务器重启或导致段时间内的服务异常;针对这个问题koa-dir-router中间件可以良好的去处理接口更新的情况。

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】 一个友好的捕获异常信息

如果开发时你的代码运行有问题,将会有这样的提示:

image-20200301131700560

明确文件和行号;方便我们找原因;

若是需要捕获线上的bug,可以使用errorLog参数;传入一个收集的方法,即可获取异常信息

【koa-dir-router】 没有匹配到接口时的处理

若是访问了没有的接口,默认中间件不做什么事情;若是需要处理,该中间件支持你来自定义404的时候;使用page404参数来传入一个函数来 处理404的时候。


koa-dir-router 点击传送

首发 blog.bestsloth.top/list/detail…