delicate

0.0.5 • Public • Published

DelicateJS· GitHub license NPM version

一套基于koa的轻量级mvc框架,旨在让基于 node 的 Web接口开发变得更便捷,更灵活,更高效

💀 注意

  • 不推荐使用该框架进行服务端模板渲染,如果实在要实现服务端渲染,推荐基于 react 的同构框架next.js

  • 该框架注重于基于 api 的后端业务

Setup

$ cd example
$ node index.js

访问 http://localhost:3001/ more>

Deployment

使用 pm2 进行项目的部署服务

更新日志

  • 服务端返回形式

    • 正常返回
    //例如返回json格式的数据
    this.ctx.set('Content-Type', 'text/json');
    this.ctx.body = {};
    • 模板返回
    //指定模板的路径和模板需要渲染的数据[数组]
    this.view(templatePath, templateData);
    • 重定向
    //重定向到路由为'/'的页面
    this.redirect('/');
  • 请求方式检测
//core  MY_Controller
module.exports = class extends DJ_Controller {
  constructor(ctx) {
    super(ctx);
    this.MethodNotAllowed(() => {
      this.ctx.status = 405;
      this.ctx.body = 'Method Not Allowed';
    });
  }
};

//controllers
//目前支持请求方式 'get', 'post', 'delete', 'head', 'options', 'put', 'patch'
module.exports = class extends MY_Controller {
  async delete() {
    /*
     * 指定当前接受的请求方式
     * 如果请求方式不是delete,会执行this.MethodNotAllowed的回调方法
     * 如果不指定method,也可以直接写业务,但是这个会任何请求方式都会命中该路由  
     */

    //指定单个请求方式
    await this.method.delete();

    //指定多个请求方式
    await this.method('delete', 'post');

    //指定不同的请求方式的业务代码
    //必须要先指定所有可能的请求方式
    //await this.method('post', 'delete')
    this.method.post(async () => {
      //post请求方式的业务代码
    });

    this.method.delete(async () => {
      //delete请求方式的业务代码
    });

    //编写业务代码
    //更多查看最佳实践delicatejs-example
  }
};

More

更多使用姿势,请参考example

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i delicate

Weekly Downloads

0

Version

0.0.5

License

MIT

Unpacked Size

34.9 kB

Total Files

25

Last publish

Collaborators

  • topthinking