【简易教程】基于Vue-cli使用eslint指南
【简易教程】基于Vue-cli使用eslint指南
插件安装
首先在vscode插件中搜索eslint和prettier。
啥也不管,这俩必须得装。
插件简介
vscode插件库里的eslint是用来在你写代码的时候就直接给你报错。(vue-cli中的eslint是在浏览器中报错)
prettier是代码格式化插件,用来辅助eslint,否则你调了花半天,一格式化全没有。
实战演练
# 创建一个vue项目 vue-cli@2.9.6,更高版本请使用create创建项目。
vue init webpack eslint_test
eslint那一栏请选择none,这样vue-cli会帮你下载eslint,并进行一些基本的配置。
但是不会帮你设置rules(rules就是各种代码规范的不允许)。
下载好后目录结构如下:
文件介绍
里面有两个文件非常重要。
.eslintignore 和 .eslintrc.js
.eslintignore ,见名知意,ignore 忽视一些文件。即在文件里面规定的不会被eslint进行检查。
例如这里面不会对/build/文件下面的文件做语法检查。
.eslintrc.js ,是eslint能起作用的根本。vue-cli里面eslint和vscode里的eslint都以这个文件为判定标准。
补充文件
我们得在根目录下新建一个.prettierrc文件。
.prettierrc,是prettier格式化的配置文件,建议用json格式书写。
例如你如果配置下面样式。
{// 采用分号"semi": true,// 采用单引号"singleQuote": true,// tab采用两个空格长度"tabWidth": 2
}
格式化过程就会像下图所示:
双引号自动改成单引号,没加的分号,自动补齐。
Eslint.js配置
上文中说过,.eslintrc.js是eslint起作用的关键文件,所以我们必须学会进行一些配置。
如果安装eslint的时候选择none,.eslintrc.js文件应该和下面是一样的。
// https://eslint.org/docs/user-guide/configuringmodule.exports = {root: true,parserOptions: {parser: 'babel-eslint'},env: {browser: true,},// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.extends: ['plugin:vue/essential'],// required to lint *.vue filesplugins: ['vue'],// add your custom rules hererules: {// allow debugger during development'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'}
}
上面最重要的模块就是rules模块。它是给我们来设定一些eslint的规则的。
例如我在rules里面添加一条规则’no-var’: [‘error’],此时我们就不能在程序中使用var来定义变量了。
只能使用let来定义变量,const来定义常量。
rules: {// allow debugger during development'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off','no-var': ['error'],},
例如下图中,我写了var a = 1;它直接报错了。
其他的也与之类似。附常用rule:
rules: {// allow debugger during development'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off','no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',// 尾随逗号规则'comma-dangle': ['error',{arrays: 'always',objects: 'always',imports: 'never',exports: 'never',functions: 'never',},],// 禁止使用var规则'no-var': ['error'],// 必须使用分号semi: ['error', 'always'],// 必须使用单引号quotes: ['error', 'single'],// 必须使用两个空格进行缩进indent: ['error', 2],},
附录官网
prettier官网 https://prettier.io/docs/en/configuration.html
eslint官网 https://eslint.bootcss.com/docs/rules/
airbnb中文文档 https://github.com/BingKui/javascript-zh#functions
【简易教程】基于Vue-cli使用eslint指南相关推荐
- 基于vue cli 3.0创建前端项目并安装cube-ui
前提条件: 安装node.js. 国内的开发者最好先配置淘宝镜像. 之后用cnpm来代替npm命令. 项目创建过程: 打开cmd,输入命令进入目标工作空间,以本机项目为例: cd /d d: cd D ...
- vue项目通过命令行传参实现多环境配置(基于@vue/cli)
大多数项目都有生产环境和开发环境,一般情况下应该够了,但是有时候还需要sit,uat,本地等环境,这时候假如要通过注释的方式切换环境就相当麻烦了. 如果可以像下面这样切换环境就方便了 npm run ...
- 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
我用的是myeclipse 10,之前一直想要用junit来测试含有spring注解或动态注入的类方法,可是由于在网上找的相关的jar文件进行测试,老是报这样那样的错误,今天无意中发现myeclips ...
- 怎么把HTML网页重构为VUE,基于vue cli重构多页面脚手架过程详解
官方提供的项目生成工具vue-cli没有对多页面webApp的支持,但是在实际的项目中,我们需要这样的脚手架,参考了很多大牛的方法,这里提供了一种我的单页面脚手架转换为多页面脚手架的方案,供大家参考. ...
- cli vue 卸载,vue Cli 环境删除与重装教程 - 版本文档
vue-cli 卸载,版本选择,安装 · 检测(图文教程:vue Cli 环境删除与重装) 重要说明: vue-cli 3.0+版本,使用的不是vue-cli,而是@vue/cli: 如果用以上的安装 ...
- Vue CLI 3结合Lerna进行UI框架设计
第一次在掘金发文章,有点啰里啰嗦,大家见谅. 当前大部分UI框架设计的Webpack配置都相对复杂,例如Element.Ant Design Vue和Muse-UI等Vue组件库.例如Element, ...
- linux 使用ssr客户端_【第一期】基于 @vue/cli3 与 koa 创建 ssr 工程
什么是基于同构代码的 SSR 服务(Server-side rendering based on isomorphic code) 首先,我们需要先明白什么是 spa (single page app ...
- vue Cli 环境删除与重装 - 版本文档
文章目录 vue-cli 卸载,版本选择,安装 · 检测(图文教程:vue Cli 环境删除与重装) 重要说明: vue-cli 的 `卸载:` vue-cli 的 `安装:` Vue CLI 官方介 ...
- eslint不报错 vue_【简易教程】基于Vue-cli使用eslint指南
插件安装 首先在vscode插件中搜索eslint和prettier. 啥也不管,这俩必须得装. 插件简介 vscode插件库里的eslint是用来在你写代码的时候就直接给你报错.(vue-cli中的 ...
最新文章
- openstack整合ceph
- netty 之 telnet HelloWorld 详解
- Linux——查看硬件配置命令
- python怎么导入大小字母_isort-用于对python导入的库按照字母进行排序的工具
- 简明易懂的c#入门指南_统计假设检验的简明指南
- jQuery常用方法总结(转)
- python实现邮件客户端_python socket实现web服务器,邮件客户端
- 关于iOS 6 中的一些“xxxxxx” is deprecated 问题的解决办法
- 双系统重装Ubuntu经验分享
- Unable to execute diff program: WinDiff 【SourceOffSite】
- 游戏开发人员需要了解的5种ASO技术,苹果游戏aso优化
- Python教你一键获得【王者荣耀全皮肤】~~~
- signature=735f4378ec01919f23285d0d2557be19,OPENSSL编程 第二十章 椭圆曲线
- 桐桐的新闻系统【模拟】
- 解决.bat文件打开是记事本的问题
- 庄子 汝身非汝有也。
- 颈椎护理小助手,轻松缓解颈部酸痛,宾多康智能颈枕按摩器体验
- python数据统计分析
- 【Git下载安装与环境配置】
- Bugzilla一些权限设置(bug,项目的权限)
热门文章
- TortoiseSVN新人使用指南
- SQLite学习手册(表达式)
- 香帅的北大金融学课笔记6 -- 货币基金
- 第四范式与赛诺贝斯达成战略合作,开启MarTech新篇章
- 我的世界minecraft-Python3.9编程(3)-创建一根柱子
- 【重点EI会议推荐】机器学习主题方向论文征稿:2021计算机、物联网与控制工程国际学术会议(CITCE 2021)...
- 【机器学习】盘点Kaggle中常见的AutoML工具库及用法
- 【深度学习】一文看懂 (Transfer Learning)迁移学习(pytorch实现)
- 推荐五篇论文| 轻量级的Transformer; 对比学习;ResNeSt;Shortcut Learning等
- 基于深度学习的CTR模型DeepCTR 更新啦!