任何实际项目的开发都不仅仅是完成编码,规范的开发流程和严谨的测试都是不可或缺的。合理使用各种工具来进行测试开发与调试,能极大地提升编码的效率以及团队协作效率,使开发过程事半功倍,对于提高代码质量、稳定线上服务至关重要。
ESLint
在日常的团队开发中,为了避免出现低级bug和统一代码风格,通常会在开发之前约定一套编码规范。使用 Lint 工具和代码风格检测工具,则可以辅助编码规范执行,有效控制代码质量。
ESLint 由 JavaScript 红宝书 作者 Nicholas C. Zakas 编写, 2013 年发布第一个版本。 NCZ 的初衷不是重复造一个轮子,而是在实际需求得不到 JSHint 团队响应 的情况下做出的选择:以可扩展、每条规则独立、不内置编码风格为理念编写一个 lint 工具。
ESLint被设计为完全可配置的,主要有两种方式来配置ESLint:
- 在注释中配置:使用JavaScript注释直接把配置嵌入到文件中。
- 配置文件:使用一个JSON或YAML文件来为全部的目录和它的子目录指定配置信息。
有很多信息是可以被配置的:
- Environments:你的脚步将要运行在什么环境中。如browser、node环境变量、es6环境变量、mocha环境变量等。
{
“env”: {
“browser”: true,
“node”: true
}
}
- Globals:额外的全局变量。如指定你所要使用的全局变量,true代表允许重写、false代表不允许重写。
{
“globals”: {
“var1”: true,
“var2”: false
}
}
- Rules:开启规则和发生错误时报告的等级。
ESLint 主要有以下特点:
- 默认规则包含所有 JSLint、JSHint 中存在的规则,易迁移;
- 规则可配置性高:可设置「警告」、「错误」两个 error 等级,或者直接禁用;
- 包含代码风格检测的规则(可以丢掉 JSCS 了);
- 支持插件扩展、自定义规则。
EsLint提供以下几种校验:
- 语法错误校验
- 不重要或丢失的标点符号,如分号
- 没法运行到的代码块(使用过WebStorm的童鞋应该了解)
- 未被使用的参数提醒
- 漏掉的结束符,如}
- 确保样式的统一规则,如sass或者less
- 检查变量的命名
安装
npm install -g eslint
使用方法
如果你的项目还没有配置文件(.eslintrc)的话,可以通过指定–init参数来生成一个新的配置文件:
eslint –init
然后,就可以在任何JavaScript中运行ESLint了。.eslintrc 放在项目根目录,则会应用到整个项目;如果子目录中也包含 .eslintrc 文件,则子目录会忽略根目录的配置文件,应用该目录中的配置文件。这样可以方便地对不同环境的代码应用不同的规则。
配置
运行eslint –init后,会在当前目录下生成一个.eslintrc文件,你可以在这个文件中配置一些规则。
规则的错误等级有三种:
- 0:关闭规则。
- 1:打开规则,并且作为一个警告(不影响exit code)。
- 2:打开规则,并且作为一个错误(exit code将会是1)。
具体的规则可以在官网 (http://eslint.org/) 上找到,或者使用别人写好的配置,例如eslint-config-airbnb (https://www.npmjs.com/package/eslint-config-airbnb) 。
在团队协作中,统一的代码风格更具可读性、可维护性。ESLint 内置了一系列有关代码风格的 规则 ,可以根据团队的编码规范设置。
开发工具
开发vuejs项目是可能会遇到一个问题,就是.vue后缀文件中的内容是不会被自动高亮显示的,感觉像是在记事本中开发一样。不过现在你不用担心,各大流行的IDE基本都已经支持.vue文件的语法高亮了,例如Sublime、WebStorm、idea、VSC等,就像安装普通插件一样安装vue插件。
调试工具
vuejs团队为大家提供了Chrome下的调试工具,可以在Chrome的插件商定找到并安装。国内可能需要翻墙。我们可以到github上找到 vue-devtools,然后按照文档编译安装。
安装成功后,打开开发者工具,在工具栏中就会出现Vue Devtools选项。该工具可以展示出各个组件的层级结构、组件当前状态、组件的prop值。