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单元测试ABC
Apr 12 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
Dec 30 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
JavaScript生成随机字符串的方法
Mar 19 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
Feb 27 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
javascript中setAttribute兼容性用法分析
Dec 12 Javascript
JS去除重复并统计数量的实现方法
Dec 15 Javascript
JavaScript生成.xls文件的代码
Dec 22 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
Mar 01 Javascript
JavaScript实现百度搜索框效果
Mar 26 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
nginx下安装php7+php5
2016/07/31 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
读JavaScript DOM编程艺术笔记
2011/11/15 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
javacript获取当前屏幕大小
2016/06/04 Javascript
javascript时间差插件分享
2016/07/18 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
Vue2 SSR渲染根据不同页面修改 meta
2017/11/20 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
python命令行参数sys.argv使用示例
2014/01/28 Python
python自定义异常实例详解
2017/07/11 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
自学python用什么系统好
2020/06/23 Python
行政助理求职自荐信
2013/10/26 职场文书
党员的自我评价范文
2014/01/02 职场文书
大型活动策划方案
2014/01/12 职场文书
幼儿教师考核制度
2014/01/25 职场文书
募捐倡议书怎么写
2014/05/14 职场文书