VSCode使用之Vue工程配置eslint


Posted in Javascript onApril 30, 2019

首先确保VS Code 安装了 Vetur 和 Eslint 插件。

然后使用了vue-cli提供的简单webpack模板,这样创建的工程默认没有添加ESLint。

vue init webpack-simple test-vscode

配置过程

全局安装最新的eslint

npm i -g eslint@latest

运行

eslint --init

VSCode使用之Vue工程配置eslint

会安装以下依赖

eslint-config-standard@latest
eslint-plugin-import@>=2.2.0
eslint-plugin-node@>=5.2.1
eslint-plugin-promise@>=3.5.0
eslint-plugin-standard@>=3.0.0

同时在项目目录下生成.eslintrc.js文件。里面只有最基本的内容:

module.exports = {
 "extends": "standard"
};

表明我们使用的规则是standard规范所定义的规则。

然后本地安装最新的eslint

npm i -D eslint@latest

package.jsonscripts中添加一行:

"lint": "eslint --ext .js,.vue src"

运行:

npm run lint

VS Code会提示我们找不到eslint-config-standard

VSCode使用之Vue工程配置eslint

安装它:

npm i -D eslint-config-standard

然后运行

npm run lint

这时就会有报错的提示了。

VSCode使用之Vue工程配置eslint

VSCode使用之Vue工程配置eslint 

4. 但是在.vue文件中出错的地方并没有相应的提示。这时Vetur排上用场了。 在VS Code的设置里面添加如下规则:

{
"eslint.validate": [
  "javascript",
  "javascriptreact",
  {
    "language": "vue",
   "autoFix": true
  }
 ]
}

这样就添加了对.vue文件的支持。

5. 但是这样会对.vue文件中的标签报解析错误

VSCode使用之Vue工程配置eslint 

这时需要安装eslint-plugin-vue@next插件。

npm install -D eslint-plugin-vue@next

同时在.eslintrc.js中添加使用vue插件的扩展。

// .eslintrc.js
module.exports = {
 "extends": [
   "standard",
   "plugin:vue/base"
  ]
}

这样,就可以对.vue文件提供实时检查的功能了。

6. 对于多余的逗号这种错误,可以在保存的时候让eslint插件自动修复。 更改VS Code中的设置,添加如下规则:

{
 "eslint.autoFixOnSave": true
}

总结

通过使用VS Code的插件 Vetur 、ESLint来对Vue工程中的.vue提供代码检查的功能。

1. 需要安装的依赖:
json

"eslint": "^4.14.0", 
"eslint-config-standard": "^11.0.0-beta.0", 
"eslint-plugin-import": "^2.8.0", 
"eslint-plugin-node": "^5.2.1", 
"eslint-plugin-promise": "^3.6.0", 
"eslint-plugin-standard": "^3.0.1", 
"eslint-plugin-vue": "^4.0.0-beta.4",

注意: 这里 ESLinteslint-plugin-vue需要是最新的。

2. .eslintrc的配置
js

module.exports = { 
"extends": [ 
"standard", 
"plugin:vue/base" 
] 
};

3. VS Code 的配置
json

{ 
"eslint.validate": [ 
"javascript", 
"javascriptreact", 
{ 
"language": "vue", 
"autoFix": true 
} 
], 
"eslint.autoFixOnSave": true 
}

参考资料:
Vetur文档
ESLint文档
eslint-plugin-vue

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

Javascript 相关文章推荐
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
js 链式延迟执行DOME
Jan 04 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
JavaScript中合并数组的N种方法
Sep 16 Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
JS块级作用域和私有变量实例分析
May 11 Javascript
NProgress显示顶部进度条效果及使用详解
Sep 21 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
微信小程序API—获取定位的详解
Apr 30 #Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 #Javascript
vue前端框架—Mint UI详解(更适用于移动端)
Apr 30 #Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 #Javascript
详解微信小程序用定时器实现倒计时效果
Apr 30 #Javascript
TypeScript开发Node.js程序的方法
Apr 30 #Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
Apr 30 #Javascript
You might like
实用函数10
2007/11/08 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
php实现的mongodb操作类
2015/05/28 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
DEFER怎么用?
2006/07/01 Javascript
从javascript语言本身谈项目实战
2006/12/27 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
Vue.js自定义指令的用法与实例解析
2017/01/18 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
Python3.6 Schedule模块定时任务(实例讲解)
2017/11/09 Python
python操作oracle的完整教程分享
2018/01/30 Python
python实现弹窗祝福效果
2019/04/07 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
12岁生日感言
2014/01/21 职场文书
《花木兰》教学反思
2014/04/09 职场文书
婚前协议书
2014/04/15 职场文书
项目申请汇报材料
2014/08/16 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
防震减灾主题班会
2015/08/14 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python