2017年JavaScript开发工具全景指南:从构建到安全的完整列表

作者:极速慢跑

时间:2026-10-23

浏览:506

本文汇总了2017年主流的JavaScript开发工具,涵盖构建自动化、IDE编辑器、文档生成、测试框架、调试器及安全扫描等领域。重点介绍Webpack、Grunt、Gulp、WebStorm、Chrome DevTools、Snyk及NPM等核心工具,帮助开发者根据项目需求选择合适的技术栈,提升开发效率与代码质量。

文章目录

JavaScript开发工具概览

简介

2017年1月,Stack Overflow年度开发者调研访问了64000名程序员,结果显示Java已连续5年成为最流行的编程语言。

JavaScript开发工具概览

构建与自动化工具

构建与自动化工具

Webpack对应用依赖的所有模块进行静态分析,生成依赖图,并将它们打包成数个静态文件。

Grunt旨在将重复耗时的任务自动化。其生态系统庞大,拥有超过6010个插件。

Gulp在Grunt之后发布,采用完全不同的方式,使用函数定义任务。它拥有超过2770个插件,并提供更好的控制力。

Browserify使开发者能够在浏览器中使用CommonJS模块。开发者可以像在Node环境中一样,通过require(‘modules')来组织模块间的引用和依赖,Browserify将这些依赖打包成浏览器可直接引用的JS文件。

Brunch非常简单且速度快。其配置文件简洁,入门文档详尽。Brunch会自动生成Source Map,方便开发者进行Debug。

Yeoman可用于任何编程语言(如Java, Python, C#, Java等)。作为前端开发的脚手架,它拥有6213个插件。

IDE与编辑器推荐

IDE与编辑器

WebStorm是一款强大的Java IDE。它支持多种框架和CSS语言,涵盖前端、后端、移动端及桌面应用。WebStorm可无缝整合第三方工具,如构建工具、语法检查器linter等。它提供代码补全、实时错误监测、导航、内置控制台及各种插件等功能。

Atom由GitHub团队开发。开发者可以很容易地对Atom进行自定义。Atom自带包管理工具、代码补全、文件系统浏览器,支持多平台及其他有用功能。

Visual Studio Code由微软开发,支持Type。它提供代码补全、语法高亮、支持Git命令等。此外,它拥有大量插件。

Brackets是一个轻量级开源编辑器。它专注于可视化工具,帮助开发者开发Web应用。Brackets支持实时预览及行内编辑。

API文档生成工具

文档工具

Swagger提供一系列规则用于描述API。使用Swagger,可以创建清晰的文档,并自动化API相关操作(如功能测试)。

JSDoc可根据java文件中的注释信息,生成Java应用程序、库或模块的API文档。JSDoc可用于管理大型项目。

jGrouseDoc是一个开源工具,可根据Java注释生成类似Jaavdoc的源码文档。它不仅为变量和函数生成文档,还可为模块等其他元素生成文档。

YUIDoc基于Nodejs,可将文档中的注释生成API文档。它使用类似于Javadoc与Doxygen的语法,支持实时预览、各种语言及标记语言。

Docco是免费的文档工具,由Literate Coffee编写。它将代码中的注释生成HTML文档。Docco不限于Java,同时支持Python, Ruby, Clojure等语言。

前端测试框架

测试工具

Jasmine是一个行为驱动开发(BDD)框架,用于测试Java代码。它不依赖任何第三方模块,也不需要DOM。其语法简单易懂,使编写测试变得简单。此外,它也可用于测试Node.js, Python及Ruby。

Mocha是一个功能测试框架,用于测试Node.js及浏览器端Java。作为开发者首选的测试框架,它可以自由编写测试组,提供详细的测试报告,并使异步测试变得简单。Mocha通常与断言库Chai来验证测试结果。

PhantomJS用于前端单元测试。由于PhantomJS是一个无界面的Webkit浏览器引擎,与直接使用浏览器测试相比,使用PhantomJS脚本运行得更快。它支持各种网页标准,如JSON, Canvas, DOM操作, SVG及CSS选择器。

Protractor是一个端到端测试框架,用于测试Angular应用。它基于WebDriverJS构建,可通过浏览器事件或原生事件模拟真实用户,从而测试应用。

浏览器调试工具

调试工具

Java Debugger由Mozilla Developer Network (MDN)开发,可独立用于调试Node.js代码,或用于其他浏览器。Firefox提供本地和远程调试功能,Firefox安卓端也用于调试运行在安卓应用上的代码。

Chrome Dev Tools提供了一系列工具,可用于调试Java代码、编辑CSS以及测试应用性能。

ng-inspector是Firefox, Chrome和Safari浏览器插件,可帮助开发者开发、理解及调试AngularJS应用。它提供实时更新、DOM高亮等功能。

Augury是一个Chrome插件,可用于调试Angular 2应用。它让开发者可以直接查看应用结构、操作特征及状态变化。

安全漏洞扫描服务

安全工具

Snyk是一个付费服务,用于发现、修复和预防Java, Node.js和Ruby应用的已知漏洞。Snyk拥有自己的漏洞库,以及NSP和NIST NVD的漏洞数据。它允许开发者使用其补丁和更新来修复这些安全漏洞。

Node Security Project提供工具用于扫描依赖以监测漏洞。NSP使用自己的漏洞数据,以及来自NIST NVD的漏洞数据。NSP支持集成GitHub和CI软件,实时监测和报警,并提供如何修复Node.js应用漏洞的建议。

RetireJS是一个开源依赖监测工具。它包含多个组件,包括命令行工具、Grunt插件、Firefox和Chrome插件、Burp和OWASP ZAP插件。Retirejs从NIST NVD、漏洞追踪系统、博客和邮件列表等收集漏洞数据。

Gemnasium是一个付费工具,不过有免费方案。它支持各种技术,如Ruby, PHP, Bower, Python和npm。Gemnasium提供很多非常有用的特性,如自动更新、实时报警及Slack集成等。

OSSIndex支持多个生态系统(Java, Java和.NET/C#),以及多个平台,如NuGet, npm, Bower, Chocolatey, Maven, Composer, Drupal和MSI。它从NVD及其他来源收集漏洞数据。

代码质量分析与优化

代码优化与分析工具

JSLint是一个Web服务,用于验证Java的代码质量。当它诊断到一个问题时,会返回问题的大致位置和出错信息。JSLint可以分析一些编码规范以及语法错误。

JSHint可以发现Java中的错误以及一些潜在的问题。JSHint是一个静态代码分析工具,旨在帮助开发者编写大型程序。它可以诊断语法错误、隐形类型转换等问题,但它并不能确定应用是否正确、性能是否足够好或是否会发生内存泄漏。JSHint是JSLint的一个fork。

ESLint是一个开源诊断工具,用于JSX和Java应用。它可帮助开发者发现可疑或不符合特定编程规范的代码。它帮助开发者在没有执行代码之前发现JS代码中问题,节省了不少时间。ESLint由Node.js编写,可使用NPM安装。

Flow是Java代码静态类型检测器,由Facebook开发。Flow可在编码时检查到类型错误并做出提示。

前端包管理方案

包管理工具

Bower是一个用于管理前端依赖的包管理器,由Twitter创建。它提供了大量可供使用的依赖包,帮助Java开发者更方便地管理前端依赖的JS库。

NPM是node package manager的缩写,事实上NPM包可用于前后端。它是Java包管理系统,也是世界上最大的依赖库,有超过475,000个模块。

Yarn是Facebook, Google, Exponent和Tilde开发的一款新的Java包管理工具。与NPM相比,它解决了安全、性能以及一致性问题。

Duo吸取了Component, Browserify和Go的经验,致力于简化大型Web应用的构建过程。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章