vue-cli的eslint相关用法

作者:鱼大饼 时间:2024-05-02 17:08:46 

ESLint简介

关于ESLint的介绍网上很多,这里就简单说些有用的。

ESLint的作用是检查代码错误和统一代码风格的。由于每个人写代码的习惯都会有所不同,所以统一代码风格在团队协作中尤为重要。

vue-cli的eslint相关

vue-cli在init初始化时会询问是否需要添加ESLint,确认之后在创建的项目中就会出现.eslintignore和.eslintrc.js两个文件。

  • .eslintignore类似Git的.gitignore用来忽略一些文件不使用ESLint检查。

  • .eslintrc.js是ESLint配置文件,用来设置插件、自定义规则、解析器等配置。

.eslintrc.js


// http://eslint.org/docs/user-guide/configuring

module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
 sourceType: 'module'
},
env: {
 browser: true,
},
// https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
extends: 'standard',
// required to lint *.vue files
plugins: [
 'html'
],
// add your custom rules here
'rules': {
 // allow paren-less arrow functions
 'arrow-parens': 0,
 // allow async-await
 'generator-star-spacing': 0,
 // allow debugger during development
 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
}
}

解析器(parser):使用了babel-eslint,这个可以在package.json中找到,说明我们已经安装过该解析器了。

环境配置(env):在浏览器中使用eslint。

继承(extends):该配置文件继承了standard规则,具体规则自己看文档,看不懂有中文版的。

规则(rules):对于三个自定义规则,我特地查了官方文档。

  • arrow-parems 允许箭头函数参数使用括号,具体操作请看文档

  • generator-star-spacing 允许方法之间加星号,如function * generator() {}。文档在此。特地查了下,发现这是ES6提供的生成器函数,回头学习下。

  • no-debugger' 允许在开发环境下使用debugger。这个比较简单,不过还是贴下文档便于查看。

注意:在rules中每个配置项后面第一个值是eslint规则的错误等级。

* “off” 或 0 - 关闭这条规则
* “warn” 或 1 - 违反规则会警告(不会影响项目运行)
* “error” 或 2 - 违反规则会报错(屏幕上一堆错误代码~)

遇到过的问题

由于一开始我不了解ESLint就写项目,不知道要看Standard的文档,所以遇到了很多ESLint的错误和警告,分享下希望能对朋友们有帮助。

1. Do not use ‘new' for side effects

该错误是由于我删除了/* eslint-disable no-new*/这段注释引发的,/* eslint-disable */这段注释的作用就是不让eslint检查注释下面的代码。


new Vue({
el: '#app',
router,
template: '<App/>',
components: { App }
})

错误原因:不可以直接new一个新对象,需要将新对象赋值给一个变量。


var vm = new Vue()

2. Strings must use singlequote

错误原因:字符串必须用单引号


return {
  msg: "Welcome to Your Vue.js App", //双引号,报错!
 }

3. Expected space(s) after “return”

错误原因:括号两侧必须要有空格隔开


return{// 没有空格报错
msg: 'Welcome to Your Vue.js App',
}

startClock (){} //){中间没有空格,报错!

4. Expected indentation of 8 spaces but found 6

错误原因:使用两个空格进行缩进。


  if (this.IntervalID === '') {
  this.IntervalID = setInterval(this.countDown, 1000)
  }

其实ESLint的报错并不难懂,只要理解错误原因还是很好解决的。如果提前看看文档,更不会出现太多报错问题了。这个故事告诉我们看文档是很重要滴~%>_<%

Tips

发现ESLint的报错都会在报错语句前面显示一个URL,点击进去可以看到详细的错误信息哦。这是我刚在写博客的时候发现的。


http://eslint.org/docs/rules/no-new Do not use 'new' for side effects
E:\Github\EfficiencyTools\EfficiencyTool-VueMobile\src\main.js:15:1
new Vue({

这里的 http://eslint.org/docs/rules/no-new 就是ESLint规则报错的原因,还是很人性化的。

总结

其实vue-cli的ESLint不需要我们配置太多,基本的都配置好了,如果你愿意完全可以照着vue-cli提供的规则去写代码。当我们需要修改一些规则的时候添加到rules中替换原有规则就可以了。一开始用ESLint写代码很烦,经常由于一些格式问题调试报错,让回去改格式。不过慢慢的就会发现使用ESLint之后代码的确可读性、美观性上都好了很多。
推荐使用ESLint来规范代码编辑~

来源:http://www.cnblogs.com/yudabing/p/7241176.html

标签:vue-cli,eslint
0
投稿

猜你喜欢

  • Vue.js通用应用框架-Nuxt.js的上手教程

    2024-04-28 10:54:31
  • Python实现的径向基(RBF)神经网络示例

    2022-03-06 23:44:35
  • python pandas模糊匹配 读取Excel后 获取指定指标的操作

    2022-07-24 07:48:32
  • 详解如何用Python实现感知器算法

    2023-11-02 13:32:20
  • SQL Server命令行导数据的2种方式

    2010-07-26 14:48:00
  • gem install mysql报错checking for mysql_qu

    2010-11-11 12:13:00
  • 编程经验点滴 动态SQL的拼接技巧

    2012-11-30 20:03:58
  • Webpack4 使用Babel处理ES6语法的方法示例

    2023-08-30 08:12:37
  • Ubuntu 18.04配置mysql以及配置远程连接的步骤

    2024-01-14 14:54:39
  • PHP实现的DES加密解密类定义与用法示例

    2023-07-17 08:55:54
  • 关于Python的GPU编程实例近邻表计算的讲解

    2022-08-06 22:35:37
  • Python3的进程和线程你了解吗

    2023-05-19 00:33:30
  • python判断无向图环是否存在的示例

    2022-07-05 18:39:55
  • mysql索引基数概念与用法示例

    2024-01-27 05:43:51
  • asp如何显示存储在数据库BLOB字段中的图像?

    2010-06-08 09:31:00
  • Scrapy框架使用的基本知识

    2022-02-23 22:27:27
  • 使用xshell实现代理功能并navicat for MySQL 进行测试

    2024-01-23 19:59:05
  • Python unittest工作原理和使用过程解析

    2023-05-10 10:13:39
  • python多线程编程中的join函数使用心得

    2021-09-28 16:49:30
  • 基于python 凸包问题的解决

    2021-04-11 02:56:41
  • asp之家 网络编程 m.aspxhome.com