Node.js开发构建测试等项目工具介绍

  首先我们看看开发工具IDE,此类工具有Sublime Text、Atom、NetBeans、Brackets和 Visual Studio以及Webstorm和JetBrains。如果使用Sublime Text或Atom,要注意安装插件。

NVM是用于管理/安装/运行 Node版本。

编写代码时为了避免出现低级错误,团队开发中形成统一的代码风格是很重要的,一般预先制定编码规范,使用Lint工具和代码风格检测工具ESLint 能够自动帮助代码规范执行,提高代码质量,ESLint 是可插入的linting工具,用于检测Javascript和JSX,后者在著名的Facebook框架React.JS中有使用。

代码覆盖检查工具是:istanbul,能够跟踪Javascript的语句 分支和函数覆盖以及反转工程,产生HTML和LCOV报告。

另外node-tap也是一个测试和代码覆盖工具,它捆绑了nyc和istanbul,比mocha要更强大,

Mocha 是一个带Chai的测试运行器,能够作为断言库。实现单元测试。结合supertest 实现高级别的自动化测试。Nodeunit 也是一种单元测试工具。Cucumber.js是全栈的集成测试工具,

node-inspector用于调试代码。

另外还需要一种Transpilation工具,是编译你的代码到一种安全运行代码,也能将新版本Javascript切换到老的Javascript,比如使用ES6编写的代码转换到ES5旧版本,这样更能安全地运行在浏览器或Node.js中。Babel是一个Transpilation工具。安装如下:

#!/usr/bin/env bash 
# install babel cli and preset 
npm install --save-dev babel-cli babel-preset-es2015
# do the transpiling of original.js file to transpiled.js 
babel original.js --out-file=transpiled.js

original.js 是:

let tests= ['one', '2', 'III'];
const test = () => console.log(...tests);
test();

转换后的js是:

'use strict';
var  tests = [ 'one',  '2',  'III'];
var  test =  function  test() {
  var  _console;
  return ( _console = console).log.apply( _console, tests);
};
test();

最后是build构建工具,构建工具需要准备环境,运行测试,目前构建工具有 GulpGruntBrunch, 和 WebPack ,有些特性在有些开发工具中已经存在,但是有的需要安装。

Gulp易于学习易于使用的任务运行器,是一种Streaming构建系统,以灵活著称。与Node.js Stream和pipe一起工作得很好,Gulp 主要聚焦编写代码,而Grunt聚焦于编写配置,另外一个构建工具是 npm-scripts

此外,为了了有关REST服务, Node.js领域的该类框架有:Express.js 、Restify 、HAPI 、Loopback 等等。

Node.js专题