vuecli结合eslint静态检查

搭建vue项目开发可能选择vue-cli项目脚手架快速创建vue项目。(https://github.com/vuejs/vue-cli)

安装vue-cli

npm install -g vue-cli

这种方式安装比较慢,可以用国内淘宝镜像安装,cnpm,安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

继续安装

cnpm install -g vue-cli

vue-cli脚手架自带webpack打包工具,创建一个基于webpack模板的新项目

vue init webpack my-project

这里需要进行一些配置,默认回车即可

This will install Vue 2.x version of the template.

For Vue 1.x use: vue init webpack#1.0 my-project

? Project name my-project
? Project description A Vue.js project
? Author runoob <test@runoob.com>
? Vue build standalone
? Use ESLint to lint your code? Yes
? Pick an ESLint preset Standard
? Setup unit tests with Karma + Mocha? Yes
? Setup e2e tests with Nightwatch? Yes vue-cli · Generated "my-project". To get started: cd my-project
npm install
npm run dev Documentation can be found at https://vuejs-templates.github.io/webpack

配置esLint

eslint配置方式主要有两种:

  1. 注释配置:使用js注释来直接嵌入ESlint配置信息到一个文件里
  2. 配置文件:使用一个js,JSON或者YAML文件来给整个目录和它的子目录指定配置信息。这些配置可以写成一个文件名.eslintrc.*的文件或者package.json文件里的eslintConfig项里

    这两种方式ESlint都会自动寻找然后读取,也可以直接在命令行内指定一个配置文件。

一般需要我们去配置项包括:

  1. 环境:你的脚本会在哪种环境下运行。每个环境带来了一组特定的预定义的全局变量。
  2. 全局变量:脚本运行期间会访问额外的全局变量。
  3. 规则:使用那些规则,并且规则的等级是多少。

vue-cli脚手架安装完成后,主要有几个地方配置了eslint。

1,项目创建后项目中就会出现.eslintignore 和.eslintrc.js两个文件####

.eslintignore类似Git的.gitignore用来配置不需要Eslint检查的文件

.eslintrc.js主要用来配置具体规则

.eslintignore文件

添加不启动静态检查的文件

build/*.js // 忽略build文件夹下所有的脚本文件
config/*.js

.eslintrc.js文件

// https://eslint.org/docs/user-guide/configuring
module.exports = {
root: true,
parser: 'babel-eslint', // 解析器为babel-eslint,可在package.json文件中配置
parserOptions: {
sourceType: 'module'
},
env: { //环境配置为浏览器
browser: true,
},
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
extends: 'standard', //文件配置继承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
}
}

说明: 在rules中每个配置项后面的第一个值为eslint规则的错误等级

  • "off" 或 0 (关闭这条规则)
  • "warn" 或 1 (违反规则会警告,不影响项目运行)
  • "error" 或 2 (违反规则会报错,终止项目运行)

2 在package.json文件中配置文件

"script" : {
"lint": "eslint --ext .js, .vue src"
}
"devDenpendencies" : {
"babel-eslint": "^7.1.1",
// 更多eslint文件
...
}

3 在webpack配置文件中

webpack.base.conf.js

  module: {
rules: [
{
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [resolve('src'), resolve('test')],
options: {
formatter: require('eslint-friendly-formatter')
}
}
]
}

有时候代码里有些特殊情况需要我们在某一行或者某几行关闭ESLint检测,可以使用注释:

1,注释关闭所有规则

/* eslint-disable */
alert('foo');
/* eslint-enable */

2,关闭某一行的所有规则

alert('foo'); // eslint-disable-line
// eslint-disable-next-line
alert('foo');

3,在某一行关闭指定的规则

alert('foo'); // eslint-disable-line no-alert
// eslint-disable-next-line no-alert
alert('foo');

常用规则:

规则的细节请到ESLint官方网站查看 http://eslint.org/docs/rules/

vuecli结合eslint静态检查的更多相关文章

  1. vue-cli 中eslint代码检查之过滤指定文件

    在需要过滤的文件头部末尾分别添加:/* eslint-disable */,/* eslint-disable no-new */

  2. React Native工程中TSLint静态检查工具的探索之路

    建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查代码, ...

  3. 四种java代码静态检查工具

    [转载]常用 Java 静态代码分析工具的分析与比较 转载自 开源中国社区 http://www.oschina.net/question/129540_23043       1月16日厦门 OSC ...

  4. Android(Java)利用findbugs进行代码静态检查

    主要介绍利用java静态代码检查工具findbugs进行代码检查,包括其作用.安装.使用.高级功能(远程review和bug同步). 虽然Android提供了Test Project工程以及instr ...

  5. maven配置checkstyle插件对代码规范进行静态检查

    checkstyle配置的官方网站:http://checkstyle.sourceforge.net/config.html (1)新建maven项目,配置checkstyle插件 pom.xml ...

  6. Shell学习---Shell脚本的静态检查工具shellcheck

    Shell脚本的静态检查工具shellcheck ubuntu下 apt install shellcheck ,即可安装shellcheck.写完shell脚本,记得用它检查一下,能给你点建议的.要 ...

  7. QtCreator 可以通过 Clang-Tidy 和 CLazy 对你的代码进行静态检查

    QtCreator 可以通过 Clang-Tidy 和 CLazy 对你的代码进行静态检查 打开你的工程,点击Analyze -> Clang-Tidy and CLazy 选择你想分析的 cp ...

  8. webstorm关闭烦人的eslint语法检查

    使用了eslint语法检查之后发现JS代码里面处处是红线,通过右键菜单中的fix eslint problems选项又会发现页面代码的格式被eslint换行得不分青红皂白,索性关闭exlint语法检查 ...

  9. Kotlin Android项目静态检查工具的使用

    Kotlin Android项目静态检查工具的使用 Kotlin Android项目可用的静态检查工具: Android官方的Lint, 第三方的ktlint和detekt. 静态检查工具 静态检查工 ...

随机推荐

  1. PHP中使用substr()截取字符串出现中文乱码问题该怎么办

    一.使用mbstring扩展库的mb_substr()截取就不会出现乱码了. 可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与sub ...

  2. 为什么机器能够学习——PAC Learnability

    机器学习中,我们根据训练集训练一个模型,来对测试数据进行预测.通常我们并不关心模型在训练集上的好坏(即训练误差,in sample error),举个简单例子,我们想要根据前六个月股市行情训练一个模型 ...

  3. 解决iOS项目根目录下文件乱七八糟的问题

    对于一个刚做项目的新手来说,肯定会碰到一个相当蛋疼的问题,那就是你在项目中建立的文件夹与你在根目录下的文件夹完全对应不起来,说直接点就是你通过group的方式在项目中建立的文件夹在本目录下根本就没有. ...

  4. 使用Redis存取数据+数据库存取(spring+java)

    RoleMapper接口: package com.wbg.springRedis.dao; import com.wbg.springRedis.entity.Role; import org.sp ...

  5. PAT——1012. 数字分类

    给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...: ...

  6. HDU 1019 (多个数的最小公倍数)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1019 Least Common Multiple Time Limit: 2000/1000 MS (J ...

  7. Xcode-push到远程仓库不能使用邮箱名,需使用昵称

    1.Xcode-push到远程仓库不能使用邮箱 2.Xcode-push到远程仓库需使用昵称

  8. 【oracle】关于创建表时用default指定默认值的坑

    刚开始学create table的时候没注意,学到后面发现可以指定默认值.于是写了如下语句: 当我查询的时候发现,查出来的结果是这样的.. 很纳闷有没有,我明明指定默认值了呀,为什么创建出来的表还是空 ...

  9. 12种开源Web安全扫描程序

    转自:https://blog.csdn.net/wh211212/article/details/78620963 赛门铁克的一个有趣的报告显示,76%的被扫描网站有恶意软件 如果您使用的是Word ...

  10. chromium之message_pump_win之三

    上一篇分析MessagePumpForUI,参考chromium之message_pump_win之二 MessagePumpForIO,同MessagePumpForUI,也是要实现三个函数 // ...