前言

借使从上年三月份算起,我入门Nodejs也有三个月有余了。这三个月,从自学入门Nodejs到后来此前端实习生的身份入职华为,再到新兴转型Nodejs开发者,那时期多得有一位严刻的「老师」,使得自己前进的脚步非以往的进程能相比较。在上学,工作的时候,我也接触了不少名特优的、实实在在能解决一般支出难点、升高功用的Nodejs模块,故而罗列出来,分享之。

Cheerio

Fast, flexible, and lean implementation of core jQuery designed
specifically for the server.

Cheerio,说它是劳务器端的jQuery一点也不为过,在github上也是大受欢迎,star数达4500雄厚,至如今截止,已经有923次commit。它分外jQuery绝半数以上的库,以至于你只须求一句$ = require('cheerio').load(YOUR_HTML_CONTENT);,便足以像在前者用jQuery一样的欢喜,欢快。
By the
way,和Cheerio类似的框架还有:jsdom,一个受欢迎程度略低于Cheerio,不过它有2,147多的commit,可知维护者之真情。

Waterline

An adapter-based ORM for Node.js with support for mysql, mongo,
postgres, redis, and more

沃特erline是从Sails框架衍生出来的Nodejs平台下的ORM,除了襄助广大的mysql、mongodb,还扶助PostgreSQL、Redis、Memory、Disk等等

Bookshelf

A Node.js ORM for PostgreSQL, MySQL and SQLite3 in the style of
Backbone.js

与沃特erline类似,但作为同类产品且被Ghost选拔标配之一的Bookshelf必然有它的更加之处,仍待君细细品来。

Node-Soap

A SOAP client and server for node.js.

对此REST,咱们自然熟识,固然不了解,也是久仰其芳名,或者是略有耳闻。REST简单而直观,把HTTP协议利用到了巅峰,在那种思想指点下,它竟然用HTTP请求的头音讯来指明资源的代表格局,用HTTP的不当机制来回到访问资源的不当。但在R.T.
菲尔德ing大学生在他的舆论里提议REST此前,又是什么人来顶住Web
瑟维斯那份差使呢?
SOAP (Simple Object Access Protocol)
顾名思义,是一个严刻定义的信息调换协议,用于在Web
Service中把远程调用和重临封装成机器可读的格式化数据。它按照 XML
格式,在一大半景况下,使用HTTP协议传输WSDL请求。
而node-soap模块,则允许在node环境中,接入其余程序语言 (诸如
ASP.net、Java 等)
开发的WebService。也可以在node中用度基于SOAP的WebService供其余程序调用。
理所当然,在多数场合下,过去SOAP能做的事,REST也是能做到的,且REST越发高雅,简单。以本人的档次,我也是想不驾驭SOAP依旧留存的必然性,可是有那么一句话:「存在,就是合理的」。既然,它存在,也有人用到,那么在同盟开发中和SOAP相遇也是有可能性的,相信那是大家的情缘。
假使你有趣味,听一下自身和SOAP邂逅的故事:SOAP,Web
service的枢纽

Passport

Simple, unobtrusive authentication for Node.js.

假若您的站点想连忙建立passport-user结构的用户系统,且可以简单的衔接流行的第三方登录,用passport就没错了。它不仅仅提供了本站登录的缓解方案,还有一大堆第三方登录的方针,见:Strategies
倘使你用Sails的话,那里还有一个承接Sails和passport的模块:sails-generate-auth

Bluebird

Bluebird is a full featured promise library with unmatched
performance.

Javascript 的社会风气有一种痛叫「callback
hell」,汉语翻译过来叫「回调鬼世界」,要是能接受得了他带来的苦水,且三番五次爱着她,那是「真爱」。Promise的定义,可以让您与javascript好好爱的深沉。
落成Promise的库有那一个,我了然的有:

  • Q
  • when
  • bluebird
  • jQuery的deferred
  • javascript自带的Promise(一些高级浏览器内置的Promise对象)

里头,我用的比较顺手的当属bluebird,它也是当下最精良博客系统Ghost的标配之一。
如果你想深刻摸底Promise的概念,能够点那里:Promises: The Sync
Problem

若是您想强调时间,爱护生命,那里有普通话版:深远明白Promise五部曲

Lodash

A JavaScript utility library delivering consistency, modularity,
performance, & extras.

自身想称它为Javascript的瑞士联邦军刀,或者是一个灰色工具箱。lodash提供了一密密麻麻万分不错的跟函数式编程相关的艺术。函数式编程就好像搭积木一样,像.identity、.partial、_.compose、splat、unsplat等都是职责单一的函数。别看它们简单,把它们作为积木看待,它们释放的是无尽的生机。
越是不难的东西,蕴藏的愈益更为无限的可能性。

Node.bcrypt.js

bcrypt for NodeJs

bcrypt,是一个跨平台的文本加密工具。由它加密的文本可在富有援助的操作系统和电脑上开展转移。它的口令必须是8至56个字符,并将在中间被转化为448位的密钥。不过,所提供的装有字符都有所越发主要的含义。密码越强大,您的数额就越安全。而node.bcrypt.js则是披上Nodejs斗篷的bcrypt,它的62.2%是C++代码,而Javascript代码唯有30.3%。

Moment

Parse, validate, manipulate, and display dates in javascript.

Moment是一个轻量级用于拍卖日期的工具,除了对日期举办格式化以外,你还是可以对日期进行操作,验证,解析。其在github的star数有1.9W+,比明确的Express(github
star是1.7w+)还多一点。这么精美的框架实在是相亲。

Skipper

Streaming multi-uploads for Sails/Express – supports disk, S3, gridfs,
and custom file adapters

Skipper是一款Sails衍生的拍卖多文件上传的机件,扶助上传文件到地头或者远端服务器,如若默许adapter没有你要求的劳动,你仍可以自定义一套adapter知足你的急需。就如自己为着把文件上传出又拍云而定制了的adapter:
skipper-upyun

Node-fs-extra

Node.js: extra methods for the fs object.

Node-fs-extra提供了有的额外的fs没有的函数,假若Nodejs自带的fs模块,还不可以满足你在拓展文件操作的选拔,或者用着不顺心。不妨来node-fs-extra找一下有没有你想要的缓解方案。

Mocha

mocha – simple, flexible, fun javascript test framework for node.js &
the browser. (BDD, TDD, QUnit styles via interfaces)

Nodejs单元测试哪家强?
mocha,mocha,似鬼怪的步履~~yo!

Should

BDD style assertions for node.js — test framework agnostic

BDD风格的预感模块,意在让编程像说白话(至少在测试断言上)。

Supertest

Super-agent driven library for testing node.js HTTP servers using a
fluent API

要是测试的时候,须求HTTP请求呢?找Supertest吧,和Should同一个小编,TJ大神,你值得看重。

PM2

Production process manager for Node.JS applications. Perfectly
designed for microservice architecture.

Nodejs单线程的特征,意味着,倘使你的某一行代码阻塞了,你的方方面面程序都会崩溃。人非圣贤,孰能无过,没有人能有限支撑自己的写的代码永无BUG(难道要在文书头加上无BUG神兽?)。在生产环境下,假设程序挂了怎么办?让它自动重启呗。
PM2就是一款解决那种题材的工具,当然,作为一个历程管理器,它的功效不仅仅如此。

Markdown-js

A Markdown parser for javascript

马克down时下越来越受欢迎了,实质上markdown最后是转换成HTML格式才能显得于网页的。而markdown-js则是把markdown格式的文书转化成HTML格式的工具。可是,假使从HTML格式的公文转化成马克down格式的公文呢?markdown-js好像不匡助,那就用to-markdown吧。

后话

正文的描述及用语,仅依据自己近期的水平而写,难免存有局限和措辞不当之处。若是有BUG或者不当之处,欢迎提出与吐槽。


假定本文对你有用
请不要吝啬你们的Follow与Start
那会大大扶助我们继续创作

「Github」
MZMonster
@MZMonster
JC_Huang
@JerryC8080

相关文章

网站地图xml地图