面向对象的 mvc 小程序 源码
mvc
var YNode = require('ynode');
new YNode({
'id': 1,
'debug': true,
'appPath': __dirname + '/app',
'assets': 'public'
}).listen(8080, function(){
console.log('listen on 8080');
});
REST
// 增加 useRestful 参数启用 RESTful
var app = new YNode({
'id': 1,
'debug': true,
'appPath': __dirname + '/app',
'useRestful': true
});
app.listen(8090, function(){
console.log(8090)
});
// get 路由 并指定 id 参数必须为数字
YNode.WebRestful.get('/abc/{id:\\d+}', function(req, res, id){
var r = new YNode.WebRequest(req);
console.log(r.getQueryString('id'));
console.log(id);
res.end('api get');
});
// 多方法路由 id 参数可为字母或数字
YNode.WebRestful.addRoute(['GET', 'POST'], '/def/{id:}', function(req, res, id){
res.end(id);
});
// 使用 app/api/User 类的 index 方法处理请求
YNode.WebRestful.get('/xyz/{id:}', 'app/apis/User@index');
// 其中 User 的定义如下
'use strict';
class User {
index(req, res, id) {
res.end(id);
}
}
module.exports = User;
理论上express使用的中间件 本程序也可以使用 但是没详细测试
比如 body-parser
YNode.Hook.getInstance().addHook(bodyParser.urlencoded({ extended: false }));