先附上参考链接:

https://juejin.cn/post/7068573328914513928

https://juejin.cn/post/6857135010882387981

https://www.cjavapy.com/article/2382/

1、创建vue项目

vue create test,取消选中cli中自带的linter/formatter,等安装完成之后手动安装,然后下一步下一步完成项目创建。

2、cd到项目目录,npm run serve,成功启动项目

3、安装eslint相关包

npm install eslint eslint-plugin-jsx-a11y eslint-plugin-vue @vue/eslint-config-airbnb eslint-plugin-vuejs-accessibility -D
注释:@vue/eslint-config-airbnb 是应用在vue项目中的规范,原版是eslint-config-airbnb,可以在npm上搜索一下,周下载量在3千万。
 
4、在当前根目录下,也就是和src文件同级目录下,新建一个文件.eslintrc.js文件,此文件为eslint的配置文件,比如你们公司你们团队有什么开发规则,可以在这个文件中进行自定义配置。一些规则翻译请看https://cloud.tencent.com/developer/section/1135580。airbnb的中文翻译版可以看第二个链接。
 
.eslintrc.js基础版示例,保证能运行,新手体验一把。
// eslint官网配置地址 https://eslint.bootcss.com/docs/user-guide/configuring
module.exports = {
"parser": "vue-eslint-parser", // 使用vue-eslint-parser解析器。ESLint 默认使用Espree作为其解析器,你可以在配置文件中指定一个不同的解析器
// 允许你指定你想要支持的 JavaScript 语言选项。默认情况下,ESLint 支持 ECMAScript 5 语法
"parserOptions": {
"ecmaVersion": 8, // ecmaVersion - 默认设置为 3,5(默认), 你可以使用 6、7、8、9 或 10 来指定你想要使用的 ECMAScript 版本
"sourceType": 'module' // sourceType - 设置为 "script" (默认) 或 "module"(如果你的代码是 ECMAScript 模块)
},
// 一个环境定义了一组预定义的全局变量
"env": {
"browser": true,
"node": true,
"es6": true
},
// 一个配置文件可以被基础配置中的已启用的规则继承
"extends": [
"@vue/airbnb",
],
// rules 属性可以做下面的任何事情以扩展(或覆盖)规则
"rules": {
"semi": "off", // 语句强制分号结尾
"prefer-const": "off", // 此规则旨在标记使用let关键字声明的变量,但在初始分配后从未重新分配变量。
"comma-dangle": "error", // 强制在对象和数组文字中一致地使用尾随逗号
"func-names": "error", // 该规则可以强制或禁止使用命名函数表达式
"space-before-function-paren": ["off"], // 在函数括号之前强制执行一致的间距,因此,只要空格不符合指定的偏好,就会发出警告
"arrow-parens": ["error", "as-needed"], // 当它们只有一个参数时,箭头函数可以省略括号。在所有其他情况下,参数必须包含在括号内
"arrow-body-style": "error", // 该规则可以强制或禁止在箭头函数体的周围使用大括号
"no-multi-spaces": "error", // 规则旨在禁止在逻辑表达式,条件表达式,声明,数组元素,对象属性,序列和函数参数周围使用多个空格
"eol-last": "off", // 在非空文件的末尾至少执行一个换行符(或不存在)
}
}
5、在根目录,也就是src同级目录新建.eslintignore文件
build/*.js
src/assets
public
dist
6、完成这些配置以后,在package.json中配置脚本,"lint": "eslint --ext .js,.vue src",在终端输入命令, npm run lint,开始进行检查,结果会在控制台输出。
 

这里可以查看哪些出现了问题,红框里看违反了哪些规则。规则可以在rules中根据团队习惯进行配置。

eslint规范在项目中的实现——vue项目举例的更多相关文章

  1. springboot实战小项目-简要介绍、vue项目创建

    因为菜,所以要好好学习! 一.项目介绍:这是一个后台管理系统,准备实现的功能: 1.登录.注册.个人信息查看.退出登录 2.根据关键字查询用户.新增用户.根据id或者其他字段排序.编辑用户信息.删除用 ...

  2. eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法

    eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法 当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, Serv ...

  3. springboot项目中引用其他springboot项目jar

    1. 剔除要引入的springboot项目中不需要的文件:如Application和ApplicationTests等 2.打包 不能使用springboot项目自带的打包插件进行打包: 3.打包 4 ...

  4. Vue项目中使用基于Vue.js的移动组件库cube-ui

    cube-ui 是滴滴公司的技术团队基于 Vue.js 实现的精致移动端组件库.很赞,基本场景是够用了,感谢开源!感谢默默奉献的你们. 刚爬完坑,就来总结啦!!希望对需要的朋友有小小的帮助. (一)创 ...

  5. Mac中如何搭建Vue项目并利用VSCode开发

    (一)部署Node环境 (1)下载适合Mac环境的Node包,点击进入下载页面 (2)安装Node环境:找到下载好的Node包,这里是node-v12.14.1.pkg,我们双击它,会进入Node.j ...

  6. vue 项目中的坑 在项目中遇到 持续更新ing

    1.vue2.0 不支持 v-html 后绑定的内容使用过滤,可是有时候过滤必须使用-----------解决:通过methods中定义方法 然后 v-html='myMethods(string)' ...

  7. vue-cli构建的项目中请求代理与项目打包

    vue-cli构建的项目中,生产模式下的打包路径.与生产模式下的请求代理简单示意

  8. 在上线项目中,用Vue写一个星级评价

    先看一下效果: html: <div class="big-star-box"> <img :src="imgNum>0 ? srcStar : ...

  9. 如何在maven项目中引用领一个项目

    1 有两个项目 maven01  和maven 02,想在maven 02中引用maven01的方法,该如何操作呢 maven01中Factory类中的方法 public class Factory ...

  10. spring项目中监听器作用-ContextLoaderListener(项目启动时,加载一些东西到缓存中)

    作用:在启动Web容器时,自动装配Spring applicationContext.xml的配置信息. 因为它实现了ServletContextListener这个接口,在web.xml配置这个监听 ...

随机推荐

  1. c语言基础理解(原创)

          家中小女初上大学开学计算机课程,学习C语言时遇到困难,为帮助她尽快入门,特写了这篇基本概念理解,希望帮她快速认识清楚C语言的本质.发到博客园上,也帮助同样的C语言初学者轻松掌握C语言的本质 ...

  2. Proxyless Mesh 在 Dubbo 中的实践

    背景 随着 Dubbo 3.1 的 release,Dubbo 在云原生的路上又迈出了重要的一步.在这个版本中添加了 Proxyless Mesh 的新特性,Dubbo Proxyless Mesh ...

  3. CF1779 Least Prefix Sum

    url:Problem - C - Codeforces 题意: 给n个数字和一个m 给一个操作:每次使得其中一个下标的数字 *= -1 要求最后在所有前缀和中前m个数字是最小的 思路: 在所有前缀和 ...

  4. Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 上一篇文章中呢,我们简单的介绍了下Re ...

  5. CF构造题1600-1800(1)

    D. Same Count One(Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!)) 题意 给定 \(n\) 个长度为 \(m\) 的 ...

  6. 案例:用ajax get方法 查询用户列表

    html文件   <body> <div id="d1"></div> <button onclick="getlist()&q ...

  7. LinkedList集合-Vector集合

    LinkedList集合 java.util.LinkedList集合数据存储的结构是链表结构.方便元素添加.删除的集合.LinkedList是一个双向链表,那么双向链表是什么样子的呢,我们用个图了解 ...

  8. 命令行部署KingbaseES流复制+切换测试

    建立系统数据库安装用户组及用户,在所有的节点执行 root用户登陆服务器,创建用户组及用户并且设置密码 groupadd -g 2000 kingbase useradd -G kingbase -g ...

  9. ThinkPad E580 装Ubuntu系 系统无WIFI 解决办法

    首先得下载 最新的驱动,我之前因为自己的下载的驱动不够新,导致我的驱动一直装不上去 https://github.com/tomaspinho/rtl8821ce 这个是最新的驱动的下载 地址,建议从 ...

  10. spring in action day07 RabbitMq

    一:安装RabbitMq 记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘. 第一步:下载并安装erlang erlang和rabbitmq对应版本说明:https://www.rab ...