- 基于expressjs,可使用connect中间件,路由
- 抽象app生命周期和中间件(不是connect的中间件),可随意扩展
- 参数配置,可高度定制
- 自动挂载路由
more
- framework
- express
- koa
- env
- production
- development
- test
- type
- normal
- api
- all
- service
[sudo]npm install --save base2
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
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/
- 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
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');
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
- v1.0.0 初始化版本
- write by
i5ting
i5ting@126.com
如有建议或意见,请在issue提问或邮件
this repo is released under the MIT License.