译者按: 最全的JavaScript开发工具列表,总有一款适合你!javascript
为了保证可读性,本文采用意译而非直译。另外,本文版权归原做者全部,翻译仅用于学习。前端
2017年1月,Stack Overflow年度开发者调研一共访问了64000个程序员,发现JavaScript已经连续5年成为最流行的编程语言。java
这篇博客将介绍一些经常使用的JavaScript开发工具:node
· IDE&编辑器程序员
· 文档npm
· 测试编程
· 调试小程序
· 安全后端
· 代码优化&分析微信小程序
· 包管理
Webpack对JavaScript应用依赖的全部模块进行静态分析,生成依赖图,而后将它们打包成数个静态文件。 Grunt以将重复耗时的任务自动化。Grunt的生态系统很是大,有超过6010个插件。 Gulp发布于Grunt以后,采用了彻底不一样的方式,使用JavaScript函数定义任务。它有超过2770个插件,而且提供了更好的控制。 Browserify使得开发者能够在浏览器使用CommonJS模块。开发者像在node环境同样,经过require('modules')来组织模块之间的引用和依赖,Browserify将这些依赖打包成浏览器能够直接引用的JS文件。 Brunch很是简单,速度很快。Brunch的配置文件很是简单,入门文档很是详细。Brunch会自动生成Source Map,方便了开发者Debug。 Yeoman能够用于任何编程语言(JavaScript, Python, C#, Java, etc.)。它是前端开发的脚手架,有6213个插件。
WebStorm是一款强大的JavaScript IDE。它支持多种框架和CSS语言,包括前端,后端,移动端以及桌面应用。WebStorm能够无缝整合第三方工具,例如构建构建、语法检查构建linter等等。它提供了代码补全,实时错误监测,导航,内置控制台,各类插件等一系统功能。 Atom是GitHub团队开发的。开发者能够很容易地对Atom进行自定义。Atom自带了一个包管理工具,代码补全,文件系统浏览器,支持多个平台以及其余有用的功能。 Visual Studio Code是微软开发的IDE,支持TypeScript。它提供了代码补全,语法高亮,支持Git命令等等。另外,它还有很是多的插件。 Brackets是一个轻量级的开源编辑器。它专一于可视化工具,能够帮助开发者开发Web应用。Brackets支持实时预览以及行内编辑。
Swagger提供了一系列规则用于描述API。使用Swagger,能够建立清晰的文档,而且自动化API相关的操做(例如功能测试)。 JSDoc能够根据javascript文件中注释信息,生成JavaScript应用程序或库、模块的API文档。JSDoc能够用于管理大型项目。 jGrouseDoc 是一个开源工具,可根据JavaScript注释生成相似Jaavdoc 的源码文档。它不只能够为变量和函数生成文档,还能够为模块等其余元素生成文档。 YUIDoc基于Nodejs,能够将文档中的注释生成API文档。它使用相似于Javadoc与Doxygen的语法,而且支持实时预览,支持各类语言,而且支持标记语言。 Docco 是免费的文档工具,由Literate CoffeeScript编写。它将代码中的注释生成HTML文档。Docco并不限于JavaScript,同时支持Python, Ruby, Clojure等语言。
Jasmine 是一个行为驱动开发(BDD)框架,用于测试JavaScript代码。它不依赖任何第三方模块,也不须要DOM。它的语法很是简单易懂,使得编写测试变得很简单。另外,它也能够用于测试Node.js,Python以及Ruby。 Mocha是一个功能测试框架,用于测试Node.js以及浏览器端JavaScript。做为开发者首选的测试框架,它能够自由的编写测试组,提供详细的测试报告,同时让异步测试很是简单。Mocha一般与断言库Chai来验证测试结果。 PhantomJS用于前端单元测试。因为PhantomJS是一个无界面的Webkit浏览器引擎,与直接使用浏览器测试相比,使用PhantomJS脚本能够运行得更快。它支持各类网页标准,例如JSON, Canvas, DOM操做, SVG以及CSS选择器。 Protractor是一个端到端测试框架,用于测试Angular应用。它是基于WebDriverJS构建的,它能够经过浏览器事件或者原生事件,从而模拟真实用户,来测试应用。
JavaScript Debugger由Mozilla Developer Network (MDN)开发,能够独立用于调试Node.js代码,或者用于其余浏览器。Firefox提供了本地和远程调试功能,而且,Firefox安卓端也用于调试运行在安卓应用。 Chrome Dev Tools提供了一系列工具,能够用于调试JavaScript代码,编辑CSS,以及测试应用性能。 ng-inspector是Firefox,Chrome和Safari浏览器插件,能够帮助开发者开发、理解以及调试AngularJS应用。它提供了实时更新,DOM高亮等功能。 Augury是一个Chrome插件,能够用于调试Angular 2应用。它让开发者能够直接查看应用结构,操做特征以及状态变化。
Snyk是一个付费服务,用于发现、修复和预防JavaScript,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, JavaScript和.NET/C#),以及多个平台,例如NuGet, npm, Bower, Chocolatey, Maven, Composer, Drupal和MSI。它从NVD以及其余来源收集漏洞数据。
JSLint是一个Web服务,用于验证JavaScript的代码质量。当它诊断到一个问题时,它会返回问题的大体位置和出错信息。JSLint能够分析一些编码规范以及语法错误。 JSHint能够发现JavaScript中的错误以及一些潜在的问题。JSHint是一个静态代码分析工具,旨在帮助开发者编写大型的程序。它能够诊断语法错误、隐形类型转换等问题,可是它并不能肯定你的应用是否正确、性能是否足够好、以及是否会发生内存泄漏。 JSHint是JSLint的一个fork。 ESLint是一个开源诊断工具,用于JSX和JavaScript应用。它能够帮助开发者发现可疑的或者不符合特定编程规范的代码。它帮助开发者在没有执行代码以前发现JS代码中问题,节省了很多时间。ESLint由Node.js编写,可使用NPM安装。 Flow是JavaScript代码静态类型检测器,由Facebook开发。Flow能够在编码时检查到类型错误并作出提示。
Bower是一个用于管理前端依赖的包管理器,Twitter建立。它提供了大量可供使用的依赖包,帮助JavaScript开发者更方便地管理前端依赖的JS库。 NPM是node package manager的缩写,事实上NPM包能够用于先后端。它是JavaScript包管理系统,也是世界上最大的依赖库,有超过475,000个模块。 Yarn是Facebook, Google, Exponent 和 Tilde 开发的一款新的 JavaScript 包管理工具。与NPM相比,它解决了安全、性能以及一致性问题。 Duo吸收了Component, Browserify和Go的经验,致力于简化大型Web应用的构建过程。
Fundebug专一于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了6亿+错误事件,获得了Google、360、金山软件等众多知名用户的承认。欢迎免费试用!
转载时请注明做者Fundebug以及本文地址:
blog.fundebug.com/2017/06/19/…