前言

而从上年7月份到底打,我入门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

Waterline是从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

及Waterline类似,但作为同类产品且受Ghost选择标配之一之Bookshelf必然有它的特别之处,仍需君细细品来。

Node-Soap

A SOAP client and server for node.js.

于REST,大家必熟悉,就算非熟悉,也是绵长负其芳名,或者是聊有听说。REST简单而直观,把HTTP协议下到了极端,在这种思维指导下,它还据此HTTP请求的条信息来指明资源的意味形式,用HTTP的荒唐机制来回到访问资源的荒谬。但以R.T.
Fielding博士在他的舆论里提出REST之前,又是谁来顶住Web
Service这卖差而为?
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

Markdown时下越来越为欢迎了,实质上markdown最终是换成为HTML格式才会显为网页的。而markdown-js则是拿markdown格式的公文转化成HTML格式的工具。但是,如果由HTML格式的文书转化成Markdown格式的文本为?markdown-js好像不支持,那便因此to-markdown吧。

后话

本文的讲述和用语,仅根据自身时之档次要写,难免存有局限和措辞不当之处。如果发BUG或者不当之处,欢迎指出和吐槽。


使本文对您有因此
央不要吝啬你们的Follow与Start
及时会大大支持我们累写

「Github」
MZMonster
:@MZMonster
JC_Huang
:@JerryC8080

相关文章

网站地图xml地图