vue单文件组件lint error自动fix与styleLint报错自动fix详解


Posted in Javascript onJanuary 08, 2019

问题描述

之前用Vue(多入口打包成多页)的项目,要修改迁移并修改为一个单页应用,且使用Vue脚手架生成项目,要对js,vue,css文件的代码做lint,在修改Webpack配置后第一次跑lint居然报了几万个Error,且是在eslint加了--fix选项的情况下,且错误大多集中在顺序问题上也就是vue/order-in-components和order/properties-order的错误.以下是问题的解决方式及过程记录.

stylelint中css属性顺序错误

.stylelint的配置

// .stylelint
{ 
 "processors": ["@mapbox/stylelint-processor-arbitrary-tags"],
 "plugins": [
 "stylelint-order",
 "stylelint-scss"
 ],
 "extends": ["css-properties-sorting"],
 "rules": {
 "order/order": [
  "custom-properties",
  "declarations"
 ],
 "color-no-invalid-hex": true,
 "unit-no-unknown": true,
 "property-no-unknown": true,
 "selector-pseudo-class-no-unknown": true,
 "selector-pseudo-element-no-unknown": true,
 "comment-no-empty": true,
 "number-leading-zero": "always",
 "number-no-trailing-zeros": true,
 "declaration-colon-space-after": "always",
 "declaration-colon-space-before": "never"
 }
}

在stylelint中加上--fix选项后,自动修复会把Vue文件中所有内容都移除掉,只剩css代码

首先在stylelint的issue中发现了这样的一个issue,基本现象一样,问题是出现在配置中的processors项

移除配置中的processors后,发现stylelint检测了各种文件(包括js/png等),执行lint的命令为: stylelint **/*.{vue,css,scss} --fix

添加.stylelintignore文件,里面忽略不用lint的文件后缀,最后完美解决css(包括scss/vue文件style标签)中属性顺序错误自动修复问题

// .stylelintignore
*.js
*.png
*.eot
*.ttf
*.woff

eslint时vue文件中属性顺序错误

eslint-plugin-vue版本: 4.0.0

.eslintrc.js配置文件

module.exports = {
 root: true,
 parserOptions: {
 parser: 'babel-eslint'
 },
 env: {
 browser: true
 },
 extends: [
 'plugin:vue/recommended',
 'standard'
 ],
 plugins: ['vue'],
 rules: {
 'generator-star-spacing': 'off',
 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
 'semi': 0,
 'indent': 0,
 'no-unused-vars': 0
 }
};

首先在eslint-plugin-vue的文档中发现vue/order-in-componentsrule是支持自动修复的,然后去翻看了issue,发现这个issue中提到这个error不能自动修复的问题已经提了PR且merge了,于是果断更新eslint-plugin-vue到最新版本(4.3.0)完美解决问题(ps:升级后又出现了个vue/attributes-order的错误,且文档说不能自动修复,于是果断ignore).

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
使用JavaScript switch case 另类写法
Mar 14 Javascript
非阻塞动态加载javascript广告实现代码
Nov 17 Javascript
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
通过一段代码简单说js中的this的使用
Jul 23 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
简单了解JavaScript弹窗实现代码
May 07 Javascript
vue界面发送表情的实现代码
Sep 11 Javascript
说说如何在Vue.js中实现数字输入组件的方法
Jan 08 #Javascript
小试SVG之新手小白入门教程
Jan 08 #Javascript
vue组件通信传值操作示例
Jan 08 #Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
Jan 08 #Javascript
vuejs简单验证码功能完整示例
Jan 08 #Javascript
详解React中合并单元格的正确写法
Jan 08 #Javascript
JS简单判断是否在微信浏览器打开的方法示例
Jan 08 #Javascript
You might like
类的另类用法--数据的封装
2006/10/09 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
jQuery 动画基础教程
2008/12/25 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
js图片处理示例代码
2014/05/12 Javascript
js分页工具实例
2015/01/28 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
python实现的简单FTP上传下载文件实例
2015/06/30 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
[原创]Python入门教程4. 元组基本操作
2018/10/31 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
总经理任命书
2014/03/29 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
给老师的一封感谢信
2015/01/20 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
python办公自动化之excel的操作
2021/05/23 Python
MySQL一些常用高级SQL语句
2021/07/03 MySQL
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python