Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/small-tou/koa-auto-controller
auto generate controller by folder struct for koa
https://github.com/small-tou/koa-auto-controller
Last synced: 7 days ago
JSON representation
auto generate controller by folder struct for koa
- Host: GitHub
- URL: https://github.com/small-tou/koa-auto-controller
- Owner: small-tou
- Created: 2016-09-18T03:00:05.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2016-09-18T04:16:32.000Z (about 8 years ago)
- Last Synced: 2024-04-15T02:48:53.310Z (7 months ago)
- Language: JavaScript
- Size: 3.91 KB
- Stars: 6
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# koa-auto-controller
auto generate controller by folder struct for koa### 说明
以文件夹嵌套的形式来表示 route 配置。
controllers 文件夹里可以放置很多 controller,而且程序初始化的时候会扫描这个文件夹,对所有 controller 进行初始化,然后自动生成对应的 url 的 route,这是本框架的一大特色。
controllers 里可以创建多层文件夹,每个文件夹代表 route 里的一级。
例如 这样的目录结构 /controllers/user/admin.js 里面有一个 createUser: get 的定义。
则在浏览器里这样访问 www.example.com/controllers/user/admin/createUser
同样,你可以这样来创建一个文件夹里的多个 controller /controllers/user/admin/index.js
这样的效果跟上面的完全一样,然后 admin 文件夹下可以继续细分其他的 controller 文件。支持正则 route,写法:'reg:/(.*)' reg:指定是正则,后面跟正则路径
### controller 代码的结构:
````
module.exports.controllers = {
'/list':{
'get': function() {}
}
};
module.exports.filters = {
'/list': {
get: ['checkLogin']
post: ['checkLoginJson']
}
};
````
### 配置方法:
````
const Koa = require('koa');
const app = new Koa();
const route = require('koa-route');
const autoController = require('koa-auto-controller');// init auto controller
autoController.init(app, route, {
controllers: '/controllers/',
filters: '/filters/'
});app.listen(8002);
````