说说nodejs里实用的模块

随着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之手

nvm

nvm也是一款node版本管理工具,跟n相比,功能更多,比前者要重,想用哪个就看使用习惯了

开发工具

node-inspector

node-inspector是一款调试工具,非常好用,基于WebKit Web Inspector.

  • 安装: npm install -g node-inspector
  • 使用: node-debug *.js, 这里需要说下模块名跟运行命令名不一样
  • 使用文档

node-dev

node-dev是一款开发工具,用来处理当require的文件改变的,重新启动应用,跟supervisor,nodemon不一样的时,无需配置任何东西,而且使用node-notifier来发送桌面消息,包括应用状态改变以及错误信息.

nodemon

nodemon是一款开发工具,也是用来处理应用文件修改时,重新启动应用,跟node-dev不同的时,它配置非常灵活,可以支持多种情况

supervisor

supervisornodemon比较接近,都是监视应用文件修改时候重启应用程序,但是它在进程crash时,也可以重启应用.

上一篇:【设计模式】 面向对象六大设计原则(一)


下一篇:关于实现一个基于文件持久化的EventStore的核心构思