1.0.18 • Published 9 years ago

base2 v1.0.18

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

Deps npm GitHub license npm

Features

  • 基于expressjs,可使用connect中间件,路由
  • 抽象app生命周期和中间件(不是connect的中间件),可随意扩展
  • 参数配置,可高度定制
  • 自动挂载路由

more

  • framework
    • express
    • koa
  • env
    • production
    • development
    • test
  • type
    • normal
    • api
    • all
    • service

Install

[sudo]npm install --save base2

Usages

var app = require('base2')({
  // debug: true,
  root:__dirname,
  "views": "views",
  "routes": "routes2",
  "public": "public",
})

// console.log(app);
// app.mount_routes(__dirname + '/routes2');
// app.mount_plugins(__dirname + '/plugins');
app.start(3019);

Note:

  • app.mount_routes
  • app.mount_plugins

more detail see https://github.com/i5ting/base2-examples

Default Options

  var cfg = {
    debug: false,
    favicon: 'favicon.ico',
    favicon_enable: false,
    post_enable: true,
    cookie_enable: true,
    log_enable: true,
    log_level: "dev",
    post_limit_size : '100kb',
    // "views": "views",
    // "routes": "routes",
    // "public": "public",
    pre: function (app) {
      if (app.debug) {
        console.log('pre hook');
      }
    },
    post: function (app) {
      if (app.debug) {
        console.log('post hook');
      }
    }
  }

默认的root是相对于安装的node_modules路径的上级

比如当前路径是base2-examples/node_modules/base2

root = base2-examples/

Extract

  • config.pre
  • settings
    • config.before_settings
    • config.after_settings
  • global_middlewares
    • config.before_global_middlewares
    • config.after_global_middlewares
  • routes
    • config.before_routes
    • config.after_routes
  • config.post

Middlewares

already exist middlewares

  • morgan log
  • serve-favicon
  • cookie-parser
  • body-parser

write a middleware by yourself:

module.exports = function (app) {
  if (app.debug) {
    console.log(app.get('views'));
  }
  
  if (app.get('views')) {
    app.set('views', app.get('views'));
    app.set('view engine', 'jade');
  }
};

in app.js

app.mount_plugin('xxxx_plugins_dir');

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

版本历史

  • v1.0.0 初始化版本

欢迎fork和反馈

  • write by i5ting i5ting@126.com

如有建议或意见,请在issue提问或邮件

License

this repo is released under the MIT License.

1.0.18

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

1.0.17

9 years ago

2.0.1

9 years ago

2.0.0

10 years ago

1.0.16

10 years ago

1.0.15

10 years ago

1.0.14

10 years ago

1.0.13

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago