koa-mvcrouter

2.0.1 • Public • Published

koa-mvcrouter

koa2 mvc 路由

安装到工程

npm i koa-mvcrouter -S

引用

const mvcrouter = require('koa-mvcrouter');

加载路由

app.js中

app.use(mvcrouter.load());

工程结构

controllers存放路由(控制器),views 存放视图,views/_layout 存放布局页 自动匹配views目录下于controller同名目录下action同名的视图 自动匹配_layout目录下default.ejs

project
    node_modules
    controllers
        test.js
    views
        _layout
            default.ejs
            default.h5.ejs
        test.ejs

控制器(路由)中 action 示例

const mvcrouter = require('../modules/koa-mvcrouter');
 
mvcrouter.viewGET('/', function (ctx) {
  return {
    title: '这是一个GET视图响应'
  };
});
 
mvcrouter.viewGET('/uv', function (ctx) {
  return {
    title: '这这里自定义test布局'
  };
}, null, '', 'test');
 
mvcrouter.viewGET('/rest/:id/:name', function (ctx) {
  return {
    title: 'RESTful GET action',
    content: '自定义视图和布局页'
  };
}, null, 'users/index', 'test');
 
mvcrouter.jsonPOST('/json', function (ctx) {
  return {
    title: 'json test',
    reqData: ctx.request.body
  };
});
 
mvcrouter.jsonPUT('/rest', async function (ctx) {
  return {
    res: 'RESTful PUT action',
    reqData: ctx.request.body
  };
});
 
mvcrouter.jsonDELETE('/rest/:id', async function (ctx) {
  return {
    res: 'RESTful DELETE action',
    id: ctx.params.id,
    reqData: ctx.request.body
  };
});
 
mvcrouter.textGET('/text', function (ctx) {
  return 'aaaaabbbb111xxx';
});
 
module.exports = mvcrouter;
 

其他资料

Package Sidebar

Install

npm i koa-mvcrouter

Weekly Downloads

3

Version

2.0.1

License

MIT

Unpacked Size

12.6 kB

Total Files

5

Last publish

Collaborators

  • zyyou