vue-cli的eslint相关用法

发布时间 - 2026-01-11 03:29:04    点击率:

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来规范代码编辑~

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


# vue-cli  # eslint  # vue  # cli  # 配置  # vue-cli3项目配置eslint代码规范的完整步骤  # vue-cli4项目开启eslint保存时自动格式问题  # vue-cli3 取消eslint校验代码的解决办法  # vue-cli脚手架搭建的项目去除eslint验证的方法  # 详解vue-cli下ESlint 配置说明  # Vue-cli Eslint在vscode里代码自动格式化的方法  # 详解vue-cli中的ESlint配置文件eslintrc.js  # vue-cli项目中遇到的eslint的坑及解决  # 报错  # 文档  # 这是  # 就会  # 好了  # 太多  # 这段  # 自定义  # 配置文件  # 如果你  # 很好  # 我不  # 第一个  # 在此  # 不需要  # 每个人  # 要有  # 不可以  # 推荐使用  # 会在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何在Windows虚拟主机上快速搭建网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel怎么实现模型属性的自动加密  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Linux系统运维自动化项目教程_Ansible批量管理实战  如何在云主机上快速搭建多站点网站?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  香港网站服务器数量如何影响SEO优化效果?  如何快速搭建个人网站并优化SEO?  Laravel观察者模式如何使用_Laravel Model Observer配置  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  个人网站制作流程图片大全,个人网站如何注销?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何快速上传建站程序避免常见错误?  浅析上传头像示例及其注意事项  Laravel distinct去重查询_Laravel Eloquent去重方法  高防服务器如何保障网站安全无虞?  Java类加载基本过程详细介绍  如何有效防御Web建站篡改攻击?  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何快速搭建二级域名独立网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  深圳网站制作的公司有哪些,dido官方网站?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  制作电商网页,电商供应链怎么做?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  如何快速搭建高效香港服务器网站?  MySQL查询结果复制到新表的方法(更新、插入)  jquery插件bootstrapValidator表单验证详解  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  HTML 中如何正确使用模板变量为元素的 name 属性赋值  北京的网站制作公司有哪些,哪个视频网站最好?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Android滚轮选择时间控件使用详解  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  如何在IIS中配置站点IP、端口及主机头?