1.0.0 • Published 3 years ago
@nioh/core v1.0.0
基础包: core
安装
Install with npm
npm i @server/core -S --registry=http://npm.zkh360.com
目录结构
├── package.json
├── server
| ├── src
| | ├── app.ts
| | ├── controller
| | | ├── demo.ts
| | | └── home.ts
| | ├── middleware
| | | ├── middlewareA.ts
| | | └── middlewareB.ts
| | └── router.ts
| ├── views
| └── dist
├── static
| ├── bundle
| └── source
| └── home
├── log
| ├── error.log
| └── access.log
├── test
| ├── middleware
| | └── middlewareA.test.js
| └── controller
| └── home.test.js
├── nodemon.json
└── README.md
使用
应用会自动读取 controller 和 middleware 文件夹,将模块合并到对象 app.controllers 和 app.middlwares
// app.ts
import Core from '@server/core'
const app = new Core({
baseDir: __dirname,
port: 3000,
keys: 'keys for encrypt',
error?: 'json', // 报错页面类型, 支持 json/html
helmet?: false // 安全头设置,默认关闭, Boolean
static?: { maxage: 360000 } // 设置静态资源参数,详细参数可参照 koajs/static
nunjucksConfig?: {} // nunjucks 原始配置, object
nunjucksExtendEnvironment?: env => {} // nunjucks 实例拓展, Function
})
app.use(app.middlewares.middlewareA)
app.use(async (ctx, next) => {
ctx.state.token = 122
await next()
})
app.start()
// router.ts
export = (router, app) => {
router.get('/demo', app.controllers.demo.index)
}
TODO
- 包的命名
- 二期改造
ChangeLog
License
2019@ZKH-FE
1.0.0
3 years ago