前言
倘若从去年7月份算起,我入门Nodejs也有半年有余了。这半年,从自学入门Nodejs到后来以前端实习生的身份入职魅族,再到后来转型Nodejs开发者,这期间多得有一位严格的「老师」,使得我前进的步伐非以往的速度能比拟。在学习,工作的时候,我也接触了很多优秀的、实实在在能解决日常开发问题、提高效率的Nodejs模块,故而罗列出来,分享之。
Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
An adapter-based ORM for Node.js with support for mysql, mongo, postgres, redis, and more
Waterline是从Sails框架衍生出来的Nodejs平台下的ORM,除了支持常见的mysql、mongodb,还支持PostgreSQL、Redis、Memory、Disk等等
A Node.js ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js
与Waterline类似,但作为同类产品且被Ghost选择标配之一的Bookshelf必然有它的特别之处,仍待君细细品来。
A SOAP client and server for node.js.
Simple, unobtrusive authentication for Node.js.
Bluebird is a full featured promise library with unmatched performance.
Javascript 的世界有一种痛叫「callback hell」,中文翻译过来叫「回调地狱」,如果能承受得了她带来的痛楚,且继续爱着她,这是「真爱」。Promise的概念,能够让你与javascript好好爱的深沉。
实现Promise的库有很多,我知道的有:
- Q
- when
- bluebird
- jQuery的deferred
- javascript自带的Promise(一些高级浏览器内置的Promise对象)
A JavaScript utility library delivering consistency, modularity, performance, & extras.
bcrypt for NodeJs
bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。然而,所提供的所有字符都具有十分重要的意义。密码越强大,您的数据就越安全。而node.bcrypt.js则是披上Nodejs斗篷的bcrypt,它的62.2%是C++代码,而Javascript代码只有30.3%。
Parse, validate, manipulate, and display dates in javascript.
Moment是一个轻量级用于处理日期的工具,除了对日期进行格式化以外,你还能够对日期进行操作,验证,解析。其在github的star数有1.9W+,比众所周知的Express(github star是1.7w+)还多一点。这么优秀的框架实在是相见恨晚。
Streaming multi-uploads for Sails/Express - supports disk, S3, gridfs, and custom file adapters
Node.js: extra methods for the fs object.
Node-fs-extra提供了一些额外的fs没有的函数,如果Nodejs自带的fs模块,还不能满足你在进行文件操作的使用,或者用着不顺心。不妨来node-fs-extra找一下有没有你想要的解决方案。
mocha - simple, flexible, fun javascript test framework for node.js & the browser. (BDD, TDD, QUnit styles via interfaces)
Nodejs单元测试哪家强?
mocha,mocha,似魔鬼的步伐~~yo!
BDD style assertions for node.js -- test framework agnostic
BDD风格的断言模块,旨在让编程像说白话(至少在测试断言上)。
Super-agent driven library for testing node.js HTTP servers using a fluent API
如果测试的时候,需要HTTP请求呢?找Supertest吧,和Should同一个作者,TJ大神,你值得信赖。
Production process manager for Node.JS applications. Perfectly designed for microservice architecture.
Nodejs单线程的特性,意味着,如果你的某一行代码阻塞了,你的整个程序都会崩溃。人非圣贤,孰能无过,没有人能保证自己的写的代码永无BUG(难道要在文件头加上无BUG神兽?)。在生产环境下,如果程序挂了怎么办?让它自动重启呗。
PM2就是一款解决这种问题的工具,当然,作为一个进程管理器,它的作用不仅仅如此。
A Markdown parser for javascript
后话
本文的描述及用语,仅基于本人目前的水平而写,难免有所局限和措辞不当之处。如果有BUG或者不当之处,欢迎指出与吐槽。
如果本文对您有用
请不要吝啬你们的Follow与Start
这会大大支持我们继续创作