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 相关文章推荐
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
jQuery中children()方法用法实例
Jan 07 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
微信小程序实现tab页面切换功能
Jul 13 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
JavaScript从原型到原型链深入理解
Jun 03 Javascript
vue实现扫码功能
Jan 17 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
Javascript类型判断相关例题及解析
Aug 26 Javascript
springboot+VUE实现登录注册
May 27 Vue.js
说说如何在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
set_include_path在win和linux下的区别
2008/01/10 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
2009/08/04 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
JavaScript/jQuery 表单美化插件小结
2012/02/14 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
vue mounted组件的使用
2018/06/18 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Python常用模块介绍
2014/11/21 Python
Python中的urllib模块使用详解
2015/07/07 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
python中的itertools的使用详解
2020/01/13 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
农救科工作职责
2013/11/27 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
2016新年致辞
2015/08/01 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang