1.5.5 • Published 3 years ago

mkbugjs v1.5.5

Weekly downloads
48
License
MIT
Repository
github
Last release
3 years ago

NPM version NPM quality npm download build status

mkbug.js

An OOP style declare Nodejs framework base on Express.js!

官方文档(中文)

What is mkbug.js

An OOP Style Restful Api framewrok base on Express.js,and make Nodejs development beautiful and easy.

Mkbug.js VS Egg.js VS Think.js

项目Mkbug.jsEgg.jsThink.js
NodejsNodejs 10+Nodejs 8+Nodejs 6+
Base onExpress.jsKoa.jsKoa.js
RouterAutoManualAuto
PluginAutoManualManual
MiddlewareAuto+ManualManualManual
ConfigAutoNoNo
JS extendES6ES6Babel
StyleOOPPurePure
DurationYesNoNo
Extend Capabilitycompatible expressjsegg ecologycompatible koa

Your First Mkbug Application

  // index.js
  const express = require('express');
  const app = express();

  const { Mkbug } = require('mkbugjs');

  new Mkbug(app)
    .create('/') // 请求url前缀
    .use(bodyParser.json()) // 使用express中间件
    .start(3001, (err) => { // 启动,同app.listen
    if (!err)
      console.log('Server started!')
    else
      console.error('Server start failed!')
  })

  // src/controller/index.js
  const { BaseController } = require('mkbugjs');

  module.exports = class api extends BaseController {
    getAction () {
      return 'Hello World';
    }
  }

About extends

If you want to use middleware like koa. you can use it like this.

  // base/ControllerBaseBase.js
  const { BaseController } = require('mkbug.js');

  module.exports = class ControllerBaseBase extends BaseController {
    before (req) {
      console.log("ControllerBaseBase before")
    }

    after(){
      console.log("ControllerBaseBase after")
    }
  }

  // base/ControllerBase.js
  const ControllerBaseBase = require('./ControllerBaseBase');

  module.exports = class ControllerBase extends ControllerBaseBase {
    before (request, response) {
      super.before(request, response)
      console.log("ControllerBase before")
    }

    after ({ duration, status, originalUrl, request, response }) {
      console.log("ControllerBase after")
      super.after({ duration, status, originalUrl, request, response })
    }
  }

  // ExtendsTest.js
  const ControllerBase = require('./base/ControllerBase');

  module.exports = class ExtendsTest extends ControllerBase {
    before (request, response) {
      super.before(request, response)
      console.log("Request start")
    }

    getAction () {
      return "hello world"
    }

    after () {
      console.log("Request end")
      super.after({})
    }
  }

And then you can send curl request to /api/extendstest, you should get the log:

  $ curl http://localhost:3000/api/extendstest

  ControllerBaseBase before
  ControllerBase before
  Request start
  Request end
  ControllerBase after
  ControllerBaseBase after

It is very easy, right?

1.5.5

3 years ago

1.5.4

3 years ago

1.5.3

3 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.8

4 years ago

1.3.7

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.19

4 years ago

2.0.0-beta.1

4 years ago

1.2.18

4 years ago

1.2.17

4 years ago

1.2.16

4 years ago

1.2.14

4 years ago

1.2.15

4 years ago

1.2.13

4 years ago

1.2.12

4 years ago

1.2.11

4 years ago

1.2.10

4 years ago

1.2.6

4 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.9

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago