最全的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 相关文章推荐
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 Javascript
js实现三级联动效果(简单易懂)
Mar 27 Javascript
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
如何从0开始用node写一个自己的命令行程序
Dec 29 Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 Javascript
详解react-refetch的使用小例子
Feb 15 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 Javascript
如何基于js判断浏览器版本
Feb 20 Javascript
JavaScrip如果基于url实现图片下载
Jul 03 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
常见的浏览器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操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
php发送邮件的问题详解
2015/06/22 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
编写Js代码要注意的几条规则
2010/09/10 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
Python3 queue队列模块详细介绍
2018/01/05 Python
Django rest framework实现分页的示例
2018/05/24 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
numpy 声明空数组详解
2019/12/05 Python
基于Python绘制个人足迹地图
2020/06/01 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
问卷调查计划书
2014/01/10 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
创建文明城市标语
2014/06/16 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
sql字段解析器的实现示例
2021/06/23 SQL Server