reus.js
TypeScript icon, indicating that this package has built-in type declarations

4.0.3 • Public • Published

reus

NPM version node version npm download npm license

cli for webapp development & deployment by nodejs

REUS LOGO

What is it

Reus.js is a webapp framework based on koa.js, which utilizes a useful consequence of the encapsulation principle. Developers are easily focused on implementations for production/business requirements, rather than the versions of dependencies or the scaffold a team project required.

Why should I use it

Reus.js has the core consideration for enterprise situation. Dealing with multiple projects, an R&D manager usually needs a widely covered version control, such as scaffolds controlls, third party libraries/dependencies controlls, etc.. This problem can be solved by one simple step, add reus.js into the dependency list. It provides a whole lifecycle coverage for the project's development & deployment.

Installation

$ npm install -g reus.js

Node.js >= 8.9.0 required. (I do not test it in any node environment lower than that version. Someone may have a nice try O(∩_∩)O~~)

Features

  • Commands for Create/Launch/Build Your Project
  • Process Management for Launch in DevMode
  • Gulp Based Plugin Development

Getting Started

  • Initialization

    $ reus create -t simple
    $ cd reus-simple-starter
    $ npm i
  • Create a Controller

    const { Controller } = require('reus.js');
    
    class HelloController extends Controller {
      async index() {
        const { ctx } = this;
        ctx.json({ data: 'hello from HelloController' });
      }
    }
    
    module.exports = HelloController;
  • Create a Middleware

    const { Middleware } = require('reus.js');
    
    class LogMiddleware extends Middleware {
      async index() {
        const { ctx, next } = this;
        console.log(`[${new Date()}]${ctx.url}:${ctx.method}`);
        return next();
      }
    }
    
    module.exports = LogMiddleware;
  • Build-in Methods

    1. ctx.json: Stringify your response
    2. ctx.http: Send a request with request
  • How to run

    1. project.config.json
      {
        "app": {
          "port": 5658
        }
      }
    1. src/routers.js
    module.exports = [
      {
        path: '/hello',
        method: 'get',
        controller: require('../controllers/hello')
      }
    ];
    1. src/app.config.js
    const logger = require('./middlewares/logger');
    const routers = require('./routers');
    
    module.exports = {
      routers,
      middlewares: [logger],
      swaggerYmlFile: "some-path-to-swagger-yaml-file",
      swaggerCdnUrl: "custom-swagger-cdnurl"
    };
    1. Run Dev Mode
    $ reus launch . --mode dev
  • How to build

    $ reus build .
  • How to deploy

    $ reus launch .

License

MIT

Package Sidebar

Install

npm i reus.js

Weekly Downloads

39

Version

4.0.3

License

MIT

Unpacked Size

182 kB

Total Files

34

Last publish

Collaborators

  • guozhi5658