随着NodeJS
的流行,越来越多的第三方模块出现,但是当你开发一个好用的工具或者应用的时候,有没有感觉手头上缺少一些利器呢,虽然node
本身提供了一些api,但是在开发效率上,有些第三方模块更胜一筹,下面说说社区里比较实用的模块.
功能类库
fs-extra(文件操作)
把这个放在第一个说,因为平时操作文件太频繁了,这个绝对可以提高你的开发效率,虽然node
本身提供fs
模块,但是在用户体验上还是不行,比如模拟一些linux
命令rm -rf
,cp -r
,或者创建类似/foo/bar/foo.txt
这样字符串的路径时,正是fs-extra
的用武之地.
- 安装:
npm install --save fs-extra
- API文档
下面演示一个简单的api,复制一个文件夹下内容到另一个文件夹下,更多详细请点击上面的文档链接
var fs = require('fs-extra')
fs.copy('/tmp/myfile', '/tmp/mynewfile', function(err) {
if (err) return console.error(err)
console.log("success!")
}) //copies file
fs.copy('/tmp/mydir', '/tmp/mynewdir', function(err) {
if (err) return console.error(err)
console.log("success!")
})
cheerio(jquery实现)
当你想在node
里实现jquery
的操作时,或者想在测试用例
里实现dom
操作时,cheerio
正是你的不二选择.
- 安装:
npm install --save cheerio
- API文档
下面演示一些它简单的api,查找某个元素的几种方式
// 1.先包装html元素,然后操作dom
var cheerio = require('cheerio'),
$ = cheerio.load('<h2 class="title">Hello world</h2>');
$('h2.title').text('Hello there!');
$('h2').addClass('welcome');
// 2.直接在操作的时候传递html元素
$ = require('cheerio');
$('ul', '<ul id="fruits">...</ul>');
Node版本管理
n
n
是一款node
版本管理工具,使用非常方便,出自tj
之手
- 安装:
npm install -g n
- 使用文档
nvm
nvm
也是一款node
版本管理工具,跟n
相比,功能更多,比前者要重,想用哪个就看使用习惯了
- 安装:
npm install -g nvm
- 使用文档
开发工具
node-inspector
node-inspector
是一款调试工具,非常好用,基于WebKit Web Inspector
.
- 安装:
npm install -g node-inspector
- 使用:
node-debug *.js
, 这里需要说下模块名跟运行命令名不一样 - 使用文档
node-dev
node-dev
是一款开发工具,用来处理当require
的文件改变的,重新启动应用,跟supervisor
,nodemon
不一样的时,无需配置任何东西,而且使用node-notifier
来发送桌面消息,包括应用状态改变以及错误信息.
- 安装:
npm install -g node-dev
- 使用文档
nodemon
nodemon
是一款开发工具,也是用来处理应用文件修改时,重新启动应用,跟node-dev
不同的时,它配置非常灵活,可以支持多种情况
- 安装:
npm install -g nodemon
- 使用文档
supervisor
supervisor
跟nodemon
比较接近,都是监视应用文件修改时候重启应用程序,但是它在进程crash
时,也可以重启应用.
- 安装:
npm install supervisor -g
- 使用文档