与其说是一个框架还不如说这是一个Node.js的路由框架。目前实现的功能很简单——只是能对一定的路由进行解析并且执行。
感觉网上发布的大多都太繁琐或者有很多不需要的功能,所以自己定制了一个适合我自己的最简单的小框架。
我们所要做的就是去action目录中实现自己的各个js模块,路由能自己解析。
如你的actions/foo.js下面有一个bar函数,那么直接能通过
来进行访问。
这里贴一下你的业务逻辑模块所需要实现的代码demo:
exports.action = function(action) {
var self = { };
var sAction = action;
self["index"] = function() {
sAction.write("Hello world!");
}
return self;
}
以后每个URI的第一层相当于一个模块,而第二层相当于一个函数-。 -
东西虽小,主要是应公司的一个项目而生。项目很简单,根本用不到网页渲染,我所要做的只是通过Node.js查询数据输出Json字符串来让客户端获取而已,所以暂时没有模板模块计划。
不过具体情况要视以后情况而定了。项目昨天才开始实施的,目前仍在继续开发和完善中,不过有兴趣的童鞋可以fork下来自己试试。
欢迎fork~
今天初步实现了MongoDB的阻塞模式。
因为有时候阻塞模式实在是太常用到了,包括我的这个框架,如果不阻塞的话,内容根本输不出,因为非阻塞那个地方执行完的时候早就已经输出完了。
如果需要用到MongoDB的阻塞模式的话,可以参考下我的代码喔~
@yakczh 打开action/index.js,然后在self[“index”]函数里面这么写:
console.log(helper.GET[“key”]); console.log(helper.POST[“key”]);
就好了啊。
PS:这个项目我暂时只是用来传输JSON Api的。
MysqlConnectionQueued.prototype = new bindings.MysqlConnection();
^
TypeError: Cannot read property 'MysqlConnection' of null
这是什么情况
简单跟express pk了一下
ab -n 1000 -c 60 http://192.168.83.128:5555/index
SevenzJS 71.63 rps
express3 94.17
可能是输出日志影响性能了,在setting.js里没有找到关闭日志的选项
@XadillaX 大并发的东西即使卡住一秒对用户也是影响。传统的相应假如界面卡住5秒不动那么用户体验就已经糟糕了。每个请求可能包含不同的操作。比如文件读写之类,这些都不能不考虑,nodejs 基于异步提供高效。这是他的特点。千万不能轻易尝试阻塞。