搭建一个Koa后端项目脚手架的方法步骤

2020-06-17 05:47:36易采站长站整理

npm run logs: 查看pm2的日志
npm run stop: 停止pm2服务

新增

ecosystem.config.js
文件:


module.exports = {
apps : [{
name: 'API',
script: './bin/www',

// Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
args: 'one two',
instances: 1,
autorestart: true,
watch: true,
ignore_watch: [ // 不用监听的文件
'node_modules',
'logs'
],
max_memory_restart: '1G',
env_pro: {
"NODE_ENV": "production",
"REMOTE_ADDR": ""
},
env_dev: {
"NODE_ENV": "development",
"REMOTE_ADDR": ""
},
env_test: {
"NODE_ENV": "test",
"REMOTE_ADDR": ""
}
}]};

这个文件主要是对pm2的基本配置,不用每次都进行配置,直接在文件进行改动即可。我们需要关注的是可以在

env
中,增加我们需要的环境及变量即可,文件中的
watch
属性是可以配置监听文件改动后,自动重启项目,比较好用。如果想忽略某一个文件夹的变动可以
ignore_watch
,更多的配置如果有兴趣的小伙伴可以查看官方文档的文档说明。

路由配置

该目录下存放路由基本配置,有

private
public
两个文件,引入路由后,我们对其前缀做了处理,
router.prefix('/api')
在每一个请求的时候都需要带上这个前缀,抽出来也是为了服务目录的改变,可以直接更改即可,做了全局的操作。每一个路由都必须暴露出去,这样在app.js文件中使用该中间件。
publicRouter.allowedMethods()
根据
ctx.status
设置
response
响应头


// Routes
app.use(publicRouter.routes(), publicRouter.allowedMethods())
app.use(privateRouter.routes(), privateRouter.allowedMethods())

private
:该文件下的路由是需要通过jwt验证的,才能进行访问。前面我们做了jwt的中间件,我们直接引入即可
router.use(jwtMiddleware)
记得要放在请求路由的前面,才能保证每次都经过它。


'use strict'

const Router = require('koa-router')
const controllers = require('../controllers')
const jwtMiddleware = require('../middlewares/jwt')

const router = new Router()
router.prefix('/api')
router.use(jwtMiddleware)