nodejs有很多优秀的库,用来解决开发过程中碰到的问题
以下是我所用到过的几个:
consolidate
集合了主流的模板引擎,包括jade、jazz等,可以很方便地渲染html页面
async
异步执行函数的解决方案
碰到嵌套的异步执行函数,可以使用async库,来控制执行顺序,避免函数的层层嵌套
例如async的waterfall函数可以按顺序来执行一些异步函数,并把上一次执行的返回结果,做为参数传入到下个需要执行的异步函数中
async.waterfall([ function(callback){ callback(null, 'one', 'two'); }, function(arg1, arg2, callback){ callback(null, 'three'); }, function(arg1, callback){ // arg1 now equals 'three' callback(null, 'done'); } ], function (err, result) { // result now equals 'done' });
node-mysql
node开发中如果涉及到mysql数据库,node-mysql这个库很好,非常简单易用,
不足的是查询结果是异步返回的,所以可以结合async这个库,
还要注意的是mysql的8小时问题,当应用程序和数据库建立连接时,如果超过了8个小时没有访问数据库,数据库就会出现断掉连接的现象,暂时没有找到合适的方式来解决,是通过每个几个小时查询一次来保证链接不被断掉的