最全的JavaScript开发工具列表 总有一款适合你


Posted in Javascript onJune 29, 2017

简介

2017年1月,Stack Overflow年度开发者调研一共访问了64000个程序员,发现Java已经连续5年成为最流行的编程语言。

最全的JavaScript开发工具列表 总有一款适合你

构建 & 自动化

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

Grunt以将重复耗时的任务自动化。Grunt的生态系统非常大,有超过6010个插件。

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

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

Brunch非常简单,速度很快。Brunch的配置文件非常简单,入门文档非常详细。Brunch会自动生成Source Map,方便了开发者Debug。

Yeoman可以用于任何编程语言(Java, Python, C#, Java, etc.)。它是前端开发的脚手架,有6213个插件。

IDE & 编辑器

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

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

Visual Studio Code是微软开发的IDE,支持Type。它提供了代码补全,语法高亮,支持Git命令等等。另外,它还有非常多的插件。

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

文档

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应用的构建过程。

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

Javascript 相关文章推荐
jquery 1.4.2发布!主要是性能与API
Feb 25 Javascript
Javascript的&&和||的另类用法
Jul 23 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
Aug 20 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
js简单实现图片延迟加载的方法
Jul 19 Javascript
利用js给datalist或select动态添加option选项的方法
Jan 25 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
May 07 Javascript
NProgress显示顶部进度条效果及使用详解
Sep 21 Javascript
Javascript Web Worker使用过程解析
Mar 16 Javascript
js实现滑动滑块验证登录
Jul 24 Javascript
常见的浏览器Hack技巧整理
Jun 29 #Javascript
详解webpack+gulp实现自动构建部署
Jun 29 #Javascript
bootstrapvalidator之API学习教程
Jun 29 #Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 #Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 #jQuery
详解webpack 多页面/入口支持&公共组件单独打包
Jun 29 #Javascript
详解webpack 如何集成第三方js库
Jun 29 #Javascript
You might like
PHP新手上路(三)
2006/10/09 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
关于Python的一些学习总结
2018/05/25 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python根据服务获取端口号的方法
2019/09/25 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
解决Django no such table: django_session的问题
2020/04/07 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
行政经理岗位职责
2013/11/09 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
场地使用证明模板
2014/10/25 职场文书
模范教师事迹材料
2014/12/16 职场文书
校长新学期致辞
2015/07/30 职场文书
python实现自定义日志的具体方法
2021/05/28 Python