JavaScript开发工具大全,开发者的
分类:前端技术

JavaScript 代码静态品质检查

2015/07/15 · JavaScript · 品质检查

原作出处: 百度efe - 笔者内江人(@i笔者三亚人)   

自鸿蒙初判,Brendan Eich 10 天捏出 Mocha 之后,就算进化成 EcmaScript,这几个语言依旧毁誉相随。那贰个通过相当多苦难,侥幸渡劫成功的苦主标志了广大天坑(见 JavaScript Garden) —— 当然,你也足以称之 feature。据无权利乱猜,DougRuss Crockford 也没少踩坑,于是才有了蝴蝶书《JavaScript: The Good Parts》,降雨天与 JSLint 一齐使用会更配哟。

图片 1

《JavaScript: The Definitive Guide》 V.S. 《JavaScript: The Good Parts》

时至后天,代码的静态品质检查在等级次序质保方面的重大与须要性已不必置疑。越多的开拓者意识到了那或多或少,纷繁在项目创设流程如故源码调节体系中加上静态检查的 hook。本文将依时间顺序,选出 JavaScript 史上的重要多少个 Linter 作横向相比较,最终属意什么人家,那就差别了。

自己斟酌和测量检验代码来发掘其余交秘书密错误,进而在松开网址上前边及时清除错误是一个百般主要的历程。代码检查的长河也俗称为是Web设计师和开垦者之间的linting。作为二个设计员,假让你想要写出冲天优化的代码,那么您势应当要linting工具。有两系列型的代码检查工具。一种是在 实践时间检查代码中的错误和bug。另一种是行使静态代码解析本领并在实行前检查码。前者因为能够节省时间和劳动显著更佳。

Package Control

在 Sublime Text 上豪门都用 Package Control 来管理安装插件,所以它是我们要设置的率先个插件,安装形式见这里。关于 Package Control 的施用办法这里不再赘述。

图片 2

 

译者按: 最全的JavaScript开荒工具列表,总有一款相符你!

JSLint

JSLint 的名字源于前期用于检查 C 语言代码质量的 Lint,老道把认为非 Good Parts 、有陷阱的有的全部报 warning,何况绝不允许退让(当前版本现已同意一些的可布署项),固执得令人可惜。

尽管如此那么些在 二〇〇四 年的 JSLint 代表着先进的动向,不过前端的提高追风逐电,严俊不屈服的 JSLint 开首阻碍前端的发展 —— 譬喻函数内变量全部聚齐在顶上部分概念,推荐贰个 var 定义五个变量等。最最最要害的是,老道拒绝开源 JSLint(无义务乱猜,可能JSLint 的贯彻代码违反它本身制定的法规)。

截止 2015年6月9日,JSLint 依然在更新,官英特网写着 JSLint edition 2015-06-02 BETA,固执的老到。

实则,linting能够放在差异的阶段。要是你欢快在敲代码的时候测量试验代码,那么您能够采纳lint工具。当然,假若你想在保持文件的时候或试行的阶段lint代码,那么linting工具也足以如你所愿。那取决个人的挑精拣肥。假设你正在探究用于CSS和JavaScript最佳的 linting工具,那么请继续阅读。

JSHint

 

Linter 是赞助你检查代码难点的一类工具,帮您开掘神秘的一无所能或倒霉的代码习于旧贯。JSHint 是反省 JavaScript 代码的好工具,援救广大编辑器和 IDE 。图片 3

Sublime 上要运用 JSHint 能够设置:SublimeLinter-JSHint 插件。注意安装那些插件前供给先安装 SublimeLinter 以至jshint 命令自身,更加多音讯见 SublimeLinter-JSHint 安装表达。轻易地说就是:

  1. 安装 jshint 命令:npm install -g jshint
  2. Package Control 安装:SublimeLinter ,重启 sublime
  3. Package Control 安装:SublimeLinter-jshint

注:JavaScript 有许多 linter 工具,如 JSLint 、JSHint 和 ESLint 。JSLint 是 JavaScript 大师 DougRuss Crockford 创作和保险的。JSHint 是 JSLint 的 fork 版,由社区护卫,更可扩展、越来越灵敏,使用者也越来越多,Mozilla、jQuery 都在用 JSHint 。ESLint 是另一个人 JavaScript 行家  Nicolas C. 扎卡s 主导的社区项目。

注:SublimeLinter 是 Sublime 上 linter 类插件的 framework,所以众多 linter 都重视这些插件。Package Control: Install Package 中输入 SublimeLinter- 会列出大气 SublimeLinter- 此前的 linter 插件,如下图:

图片 4

原文: THE ULTIMATE LIST OF JAVASCRIPT TOOLS

JSHint

鉴于 JSLint 的现状,Anton Kovalyov 以 JSLint 为原来,在社区技巧的支持下促成了开源的 JSHint

相较之下,JSHint 更友好,可配置性更加高。由于大家受 JSLint 的压制太久,並且得益于开源的优势,风头非常的慢盖过 JSLint,不时无两,获得大量IDE/Editor 的扶持。不过成败萧相国,JSHint 的功成名就来源于对 JSLint 的改进,但一样承袭了 JSLint 的过多宿疾,举个例子不易扩充,难以遵照报错新闻一定到现实的平整配置等。固然有特地的文档表达,但是修复的老本还是不低,于是现身了JSLint Error Explanations 那样的网址,针对 JSLint/JSHint/ESLint 报的一无所长作修复说明—— “啪啪”,那对 JSHint 团队来说同样于打脸。

JSHint 团队也逐步察觉到那几个难点的要害,2013年时曾有 讨论 使用 esprima 生成 AST(见 jshint-next,提醒该类型已过期,已 merge 到主项目,但在 贰零壹壹/5 又从主项目移除,现已难觅芳踪,原因未明),并有特意针对 JSHint 的 warning 作修复的fixmyjs。

1.CSSLint

JSCS

代码中并未有不当还远远不足,好的代码必要依据同样的代码风格(代码不独有给机器用,还是给人看不是吧?)。JSCS 是反省代码风格的工具,能够配备非常多代码风格准则,举例空格的渴求、括号的义务等,仍然为能够直接选拔 jQuery、Google 等代码风格方案。

Sublime 上急需设置 SublimeLinter-JSCS 。那个插件同样依附SublimeLinter 以致 jscs 命令自身。轻易安装表达如下:

  1. 安装 jscs 命令:npm install jscs -g
  2. Package Control 安装:SublimeLinter ,重启 sublime (要是您还没装 SublimeLinter 的话,不然请跳过)
  3. Package Control 安装:SublimeLinter-jscs

其他,你仍然是能够安装一个 JSCS-Formatter 插件,达成自动代码格式化。

图片 5

译者: Fundebug

Closure Linter

Closure Linter 属于 Closure 家族成员,源于 二〇〇四年的 Gmail 项目,最早只是中间接选举用,后来以为应该 兼济天下,于是在 二〇〇七年后当作 Closure Tools 连串开放给外界使用。Closure Linter 重倘诺依据《Google JavaScript Style Guide》来作检查与修补。限于 Closure 的家族特征,使用范围并非常的小。

实在CSSLint会“伤害你的情义”,但作为沟通它会“让你的代码立异相当多” 。CSSLint目前官员了CSS linting的商海。它用JavaScript编写,不不过开源的,况兼自带大批量的布局选项。

ColorHighliter

Color highlighter 插件能够自行展现CSS 或 Sass 中宣称的颜料,令你看透。暗中认可配置下,当鼠标移到颜色变量上时背景就能够产生评释的水彩。

图片 6

还是能够安装三种颜料展现情势,暗中同意配置见: ‘Package Settings’ > ‘Color Highlighter’ > ‘Settings – Default’ 。比方,我们在该插件的 User 设置中做如下设置能够完毕下图的展现效果:

 

1
2
3
{
  "ha_style": "filled"
}

图片 7

Gutter Color 和 Color Picker 是别的七个颜色相关的插件。

为了保证可读性,本文选取意译而非直译。别的,本文版权归原来的著小编全部,翻译仅用于学习。

JSCS

自 Marat Dulin 于 2003.6.17 日黎明(英文名:lí míng)揭橥第3个本子开首,JSCS 就注意于代码风格层面包车型大巴反省,那一点从它的名字 JSCS - JavaScript Code Style 中可窥一斑:

JSCS is a code style linter for programmatically enforcing your style guide. You can configure JSCS for your project in detail using over 90 validation rules, including presets from popular style guides like jQuery, Airbnb, Google, and more.

再看它的 package.json 中的注重包:

能够开掘它选择了 esprima 生成 AST,再通过 estraverse 遍历作检查,因而质量上会逊于 JSLint 与 JSHint,不过带来的收益是轻巧维护和扩张,相对于质量上的损失,是全然值得的。另外,JSCS 可通过 esprima-harmony-jscs 实现对 ES6 的补助,何况自带错误修复本领。

JSCS 与 JSHint 份属独资,相互接纳对方作本项目标代码检查。

图片 8

AutoFileName

AutoFileName 在你在输入文件名是提供自动提示,裁减人工的输入错误。

图片 9

简介

二〇一七年一月,Stack Overflow年度开拓者实验研讨一共访问了6伍仟个技师,发掘JavaScript已经三番五次5年成为最盛行的编制程序语言。

图片 10

javascript_popularity_stackoverflow_report_2017.png

这篇博客将介绍部分常用的JavaScript开辟工具:

ESLint

正要,一样是出自对 JSLint 与 JSHint 的不满,Nicholas C. Zakas 也在 JSCS 公布的后一个月始于造另八个新轮子 ——JSCheck(浓浓的山寨感扑面而来有未有),可是几天后即改名称叫 ESLint —— 再度注解,好名字根本。

职能方面,ESLint 能够轻便的知情成 JSHint JSCS,基本上集成了两大亲密的朋友的亮点。ESLint 在前期也是借助于 esprima生成 AST,后来为进步对 ES6 的支持,换成 esprima 的分支版本 espree。然而,espree 对 ES6 的扶助照旧很有限,可是辛亏还应该有 Babel-ESLint。

2.SublimeLinter CSSLint

Autoprefixer

Autoprefixer 插件让帮你活动增添CSS 厂家前缀,个人接纳相比较便利。纵然是专门的学业的品种,能够使用别的活动构建工具在创设进度中联合实现。

图片 11

作者:韩国恺。本点不清文章以 Addy & Matt的数不清录制 Totally Tooling Tips 的内容为底蕴重新整理而成,重要介绍一些(前端)开拓者喜欢的工具和本领。

构建&自动化

· IDE&编辑器
· 文档
· 测试
· 调试
· 安全
· 代码优化&分析
· 包管理

总结

假定你是老道的死忠粉,无条件允许她有关 JavaScript 的上上下下观点,那么 JSLint 是您的不二采摘。只要把 老道 换成 Google 成立,JSLint 换成 Closure Linter 同样创建。

固然你有优质的单元测量试验作后续的材料担保,也许只 care 代码风格方面包车型大巴难点,那么 JSCS 就全盘胜任。

假定您供给不高,更侧重开辟工具和碰着的帮助,还想顺便检查一下 HTML 代码中的 inline script,严重推荐 JSHint。得益于它的高分布度,纵然官方文档有不得要领的无力感,在社区的扶持下也能异常快的减轻您的难点。

设若你的需求异常高,为集体制订正规极度详尽,何况不满意于 JSHint 与 JSCS 的结合,无妨试试 ESLint。严酷的进献加入流程,快捷的响应以至充裕的文书档案都不过是它大多亮点中的冰山一角。

您还要检查 CSS 和 HTML,以至还会有 Less? 也许只有 fecs 能够挽留你于水火,至于 fecs 是哪些,那是另一篇小说的原委了。

CSSLint是叁次那样便捷的CSS linting工具,以至于很难找到一个竞争对手能够与之比美。可能那就是为啥SublimeLinter linting框架会把它的CSS linting插件营造在CSSLint上边的因由。SublimeLinter是四个SublimeText插件,给顾客提供了lint代码(CSS,PHP,Python,Java,Ruby等)的手法。

构建 & 自动化

Webpack对JavaScript应用正视的持有模块举办静态分析,生成重视图,然后将它们打包成数个静态文件。
Grunt以将再一次耗费时间的职务自动化。Grunt的生态系统异常的大,有高出6012个插件。
Gulp发表于Grunt之后,选拔了完全分裂的法子,使用JavaScript函数定义职责。它有超过常规27六贰十个插件,何况提供了越来越好的操纵。
Browserify使得开辟者能够在浏览器选择CommonJS模块。开辟者像在node意况同样,通过require('modules')来公司模块之间的援引和重视,Browserify将这么些正视打包成浏览器能够一贯引用的JS文件。
Brunch特轻易,速度十分的快。Brunch的配备文件极度轻易,入门文书档案特别详尽。Brunch会自动生成Source Map,方便了开荒者Debug。
Yeoman能够用于其余编制程序语言(JavaScript, Python, C#, Java, etc.)。它是前端开垦的脚手架,有6213个插件。

补充

撰写未完,博客园开采已有像样的可比: A Comparison of JavaScript Linting Tools,可作参照他事他说加以考察。

1 赞 1 收藏 评论

图片 12

图片 13

IDE & 编辑器

WebStorm是一款强盛的JavaScript IDE。它援救多样框架和CSS语言,包涵前端,后端,移动端以致桌面应用。WebStorm可以无缝结合第三方工具,举例构创建建、语法检查构建linter等等。它提供了代码补全,实时错误监测,导航,内置调控台,各样插件等一体系机能。
Atom是GitHub共青团和少先队开销的。开垦者能够很轻易地对Atom实行自定义。Atom自带了二个包管理工科具,代码补全,文件系统浏览器,扶持七个阳台以至此外有效的效果。
Visual Studio Code是微软支付的IDE,援救TypeScript。它提供了代码补全,语法高亮,扶植Git命令等等。另外,它还可能有极度多的插件。
Brackets是二个轻量级的开源编辑器。它小心于可视化工具,能够扶植开辟者开荒Web应用。Brackets扶持实时预览以至行内编辑。

3.StyleLint

文档

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等语言。

StyleLint能够帮衬开采职员制止CSS、SCSS中或任何其余PostCSS能够剖析的语法错误。StyleLint测验了当先第一百货公司条准则,你可以挑选你想切换的那么些准绳(见此举例配置)。

测试

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营造的,它可以经过浏览器事件还是原惹事件,进而模拟真实顾客,来测量检验应用。

图片 14

调试

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应用。它让开采者能够直接查看应用结构,操作特征以致气象变化。

4.W3C CSS Validator

安全

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以至别的来源搜聚漏洞数据。

固然W3C的CSS Validator平日不被感觉是一种linting工具,但它为开荒人士提供了二个用W3C官方正式检查CSS代码的很好机遇。W3C创建它和睦的印证程序,意在提供一个像样于Lint程序检查器针对C语言的工具。

代码优化 & 深入分析

JSLint是叁个Web服务,用于验证JavaScript的代码质量。当它检查判断到贰个题目时,它会回到难题的大致地点和失误音信。JSLint能够分析部分编码标准以至语法错误。
JSHint能够开采JavaScript中的错误以致一些潜在的题材。JSHint是一个静态代码分析工具,意在扶助开垦者编写大型的主次。它能够检查判断语法错误、隐形类型调换等主题素材,可是它并无法鲜明你的选择是不是科学、质量是不是丰裕好、以至是不是会发出内部存款和储蓄器泄漏。 JSHint是JSLint的八个fork。
ESLint是叁个开源会诊工具,用于JSX和JavaScript应用。它能够扶植开辟者开掘狐疑的依然不合乎一定编制程序标准的代码。它帮衬开垦者在未曾奉行代码以前发掘JS代码中难题,节省了比非常多光阴。ESLint由Node.js编写,能够选取NPM安装。
Flow是JavaScript代码静态类型检查评定器,由推特开荒。Flow能够在编码时检查到品种错误并做出提醒。

图片 15

包管理

Bower是八个用以管理前放正视的包管理器,Instagram创建。它提供了大批量可供使用的正视性包,支持JavaScript开采者更实惠地管理前端信赖的JS库。
NPM是node package manager的缩写,事实上NPM包能够用于前后端。它是JavaScript包管理连串,也是社会风气上最大的依赖库,有超过475,000个模块。
Yarn是照片墙, 谷歌(Google), Exponent 和 Tilde 开拓的一款新的 JavaScript 包管理工科具。与NPM相比较,它化解了平安、质量以致一致性难点。
Duo吸收了Component, Browserify和Go的阅历,致力于简化大型Web应用的创设进程。

招待参预大家Fundebug的全栈BUG监察和控制交流群: 622902485

图片 16

版权申明:
转发时请注脚小编Fundebug以至本文地址:https://blog.fundebug.com/2017/06/19/javascript-tool-list/

您的顾客遭逢BUG了吗?
体验Demo 无需付费使用

5.Dirty Markup

Dirty 马克up能够清理,格式化以致表明你的HTML、CSS和JavaScript代码。假设您欣赏轻易直接的统一希图,并希望一个便捷的缓和方案,那么选它就对了。当您在编辑器中编辑或改变代码的时候,Dirty 马克up能够实时抛出荒唐音讯和通报。

图片 17

6.JSLint

JSLint最早由DouglasCrockford发表于二〇〇二年,从那时起就有了蓬勃的生机,由此你能够安枕而卧地确定它是一个既安静又可相信的JavaScript linting工具。

图片 18

7.JSHint

JSHint是一个社区驱动项目,始于竭力创制一个更可布署,不那么执拗的JSLint版本。JSHint允许开采人士配置任何它的linting选项,然后把自定义的布署放到一个独自的公文中,那使得该工具很轻松重复使用,由此特别契合大型项目。

图片 19

8.ESLint

ESLint是JavaScript linting宏图中这段日子的一件盛事。之所以受款待是因为中度灵活的特点。你不独有能够自定义多量尖端的linting准则,将之与具有主要的代码编辑器集成,还足以很轻松地经过抬高差异的插件扩充其功效。

图片 20

9.JSCS

JSCS,或JavaScript Code Style,是对准JavaScript的一个可插拔的代码风格linter,用来检查代码格式准绳。JSCS的目的是提供八个用编制程序情势实践固守于某一 编码风格向导的手法。固然JSCS不检查bug和错误,但它照旧为众多高科技(science and technology)行业的插手者,如Google、AirBnB和AngularJS所用,因为它能够支持开拓职员保持叁个惊人可读又平等的代码库。

图片 21

10.StandardJS

StandardJS,或JavaScript Standard Style是一种代码风格linter,有一点像JSCS,但分歧是越来越简易和从来。要是您不想花时间在计划上,只想要四个能开箱即用的快速工具以来,那么StandardJS是三个超棒的挑选。

图片 22

译文链接:
泰语原稿:10 CSS and JavaScript Linting Tools for Code Optimization

你只怕感兴趣的稿子:

  • 你有不能缺少知道的拾个JavaScript难题
  • Web品质优化体系10个晋级JavaScript质量的技能
  • 极力推荐拾一个不足实用的JavaScript代码段
  • 12个JavaScript中易犯小错误
  • 分享10个原生JavaScript技巧
  • JavaScript开辟人士的13个尤为重要习贯小结
  • 11个在JavaScript开荒中常遇到的BUG

本文由pc28.am发布于前端技术,转载请注明出处:JavaScript开发工具大全,开发者的

上一篇:前端的思考和清醒,看完那篇小说你再考虑是不 下一篇:没有了
猜你喜欢
热门排行
精彩图文
  • JavaScript开发工具大全,开发者的
    JavaScript开发工具大全,开发者的
    JavaScript 代码静态品质检查 2015/07/15 · JavaScript·品质检查 原作出处: 百度efe -笔者内江人(@i笔者三亚人)    自鸿蒙初判,Brendan Eich 10天捏出 Mocha 之后
  • 疗养 CSS 的艺术
    疗养 CSS 的艺术
    调试 CSS 的方法 2016/09/06 · CSS ·调试 原稿出处: BenFrain   译文出处:众成翻译 -yanni4night    本人经验过不菲 CSS代码的调解专门的学业,有人家写的也是
  • 何以设置链接样式,CSS结商谈层叠
    何以设置链接样式,CSS结商谈层叠
    如何设置链接样式 2016/09/05 · CSS 本文作者: 伯乐在线 -赖祥燃。未经作者许可,禁止转载! 欢迎加入伯乐在线 专栏作者。 每个合法的文档都会生成一个文
  • CSS图像替换,文本缩进
    CSS图像替换,文本缩进
    CSS图像替换:文本缩进,负边距以及更多方法 2016/07/04 · CSS ·图像替换 原文出处: BaljeetRathi   译文出处:众成翻译    CSS中的图像替换有着广泛而多样
  • 用法教程
    用法教程
    CSS Modules 用法教程 2016/06/19 · CSS ·Modules 初藳出处:阮一峰    学过网页开拓就能知晓,CSS 无法算编程语言,只是网页样式的一种描述方法。 为了让 CSS也