几年前我发布了一篇[关于Node.js的博文](http://adamfowler.org/2013/05/08/why-i-like- node-js/)。在最近做了几次对博文更加疯狂的填充之后,我想我写这篇文章更多的原因是因为我热爱[Node.js](http: //www.nodejs.org/)! Promises, Promises在我之前的文章里我曾提到过“bracket hell”。当然,在介入一段时间后,我开始使用使用Promises做很多事儿,尤其是npm里的[Q promises 库]。Promises 允许你进行简单的链式操作。你可以并行执行代码,直到它们执行完成,或顺序执行,或者二者混用!我曾在上周使用过二者混用,使用[Q.all] (https://www.npmjs.com/package/q#combination)来启动10个“线程”,每个线程使用 [promisesArray.reduce](https://www.npmjs.com/package/q#sequences)顺序跑1500 个任务。 这让我可以通过很少的几行代码,去大规模的测试客户的基于[Node.js](http://www.nodejs.org/) Express web框架的应用,在[MarkLogic Server](http://developer.marklogic.com/)里轮流测试高吞吐量和查询负载。 Express Web Apps 创建web server听起来挺吓人的,但使用[Express](https://www.npmjs.com/package/express)却非常非常的简单。你仅仅需要中间截取你需要的小量的路由(URL patterns),这样就完成了! 命令行应用
我在mljsadmin里使用的几个NPM包:-
总结我经常愉快的因为他们而惊喜,无论小工具还是我需要阐述的那些,无论多复杂,Node.js极大的简化我的生活! Node.js的事件驱动特性和通过扩展支持广泛的[NPM](http://npmjs.com/),让我可以快速的查找和使用我需要的最多神秘功能。我经常可以选择神密的库。 在IT今天,无论干什么工作,我都推荐你们学习Node.js。Node.js会让你的项目腾飞! |