https://github.com/salakjs/salak-core
A core framework base on koa.
https://github.com/salakjs/salak-core
Last synced: 12 months ago
JSON representation
A core framework base on koa.
- Host: GitHub
- URL: https://github.com/salakjs/salak-core
- Owner: SalakJS
- License: mit
- Created: 2017-12-19T13:16:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-28T08:53:21.000Z (over 7 years ago)
- Last Synced: 2025-07-09T07:08:32.170Z (12 months ago)
- Language: JavaScript
- Size: 87.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# salak-core
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![David deps][david-image]][david-url]
[![NPM download][download-image]][download-url]
[npm-image]: https://img.shields.io/npm/v/salak-core.svg?style=flat-square
[npm-url]: https://npmjs.org/package/salak-core
[travis-image]: https://img.shields.io/travis/SalakJS/salak-core.svg?style=flat-square
[travis-url]: https://travis-ci.org/SalakJS/salak-core
[david-image]: https://img.shields.io/david/SalakJS/salak-core.svg?style=flat-square
[david-url]: https://david-dm.org/SalakJS/salak-core
[download-image]: https://img.shields.io/npm/dm/salak-core.svg?style=flat-square
[download-url]: https://npmjs.org/package/salak-core
## **Deprecated**,move to [salak](https://github.com/salakJS/salak)
salak核心库,基于koa 2.0
**不建议直接使用salak-core,可以直接使用 [salak](https://github.com/salakJS/salak)**
## 特性
- 自动路由,根据controller生成service
- 中间件扩展,可以自定义中间件执行顺序
- Joi校验,增强代码健壮性,提供路由执行前参数校验以及输出校验
- 日志插件,基于winston
## 用法
目录结构
```
├── common
│ ├── config
│ │ └── default.js
│ └── middleware
│ └── error.js
├── blog
│ ├── config
│ │ └── default.js
│ ├── controller
│ │ ├── comment.js
│ │ └── post.js
│ ├── middleware
│ │ ├── auth.js
│ │ └── err.js
│ └── service
│ └── post.js
└── index.js
```
### 安装
```
npm install --save salak-core
```
### 编写controller
```
const { Controller } = require('salak-core')
class Post extends Controller {
actionIndex () {
this.ctx.body = 'hello, Post.'
}
}
```
默认会注册/post 路由
## API
### SalakCore
#### constructor (options)
- {Object} options - 配置
- {String} options.baseDir - 项目根目录
- {Object} options.opts - 其他设置
- {String} options.opts.root - common目录命名,默认为common
#### router
salak-router 实例
#### loader
SalakCoreLoader 实例
## License
MIT