Wondering what’s next for npm?Check out our public roadmap! »

    appix

    1.0.0-beta-01 • Public • Published

    Appix 1.0.0-beta Build Status

    • Es6 Node.js framework dev version
    • Lightweight application framework with dyependency injection for node js
    • This application framework is improved version of mvcjs nodejs framework

    Features

    1. Appix follow reactive design pattern.
    2. Catch all runtime/syntax errors
    3. Has a dependency injection
    4. Built on top of ES6

    Documentation wiki

    Hello world example in appix

    • npm install appix

    • app/env.json

    {
      "components": {
        "appix/logger": {
          "enabled": true,
          "console": true,
          "level": 30
        },
        "appix/router": {
          "useCustomErrorHandler": false
        }
      }
    }
    • app/index.js
    'use strict';
    let di = require('appix');
    let Bootstrap = di.load('@{appix}/bootstrap');
    // bootstrap application
    let init = new Bootstrap({
      listenPort: 9000,
      appPath:  __dirname + '/'
    });
    // set bootstrapped instance under custom name
    di.setInstance('node', init);
    // get router component
    let router = init.getComponent('appix/router');
    // add some routes
    // Route actions are case sensitive!
    router.add([
        {
            url: '/',
            route: 'home/Index'
        },
        {
            url: '/goto301',
            route: 'home/Redirect301'
        },
        {
            url: '/goto',
            route: 'home/Redirect'
        },
        {
            url: '/favicon.ico',
            route: 'home/Favicon'
        }
    ]);
    // run server
    init.listen();
    • app/controllers/home.js
    'use strict';
    let di = require('appix');
    let Controller = di.load('@{appix}/controller');
    // Controllers can be inherited as many levels as you need
    class Home extends Controller {
     
       actionRedirect() {
           return this.redirect('/', 302);
       }
     
       actionRedirect301() {
           return this.redirect('/', 301);
       }
     
       actionIndex() {
           return 'Hello world';
       }
    }
    module.exports = Home;
    • run node app/index.js
    • open localhost:9000

    Install

    npm i appix

    DownloadsWeekly Downloads

    3

    Version

    1.0.0-beta-01

    License

    MIT

    Last publish

    Collaborators

    • avatar