引入stylelint对项目做代码样式审查
早就看到stylelint
的介绍文章,感觉有点意思。因为懒,这几天才接入了这个样式检查的工具。
话不多说,直接看如何引入这个库吧。
install
安装相关依赖库1
yarn add stylelint stylelint-config-standard stylelint-config-prettier
从这里看好像并没有安装webpack
相关的plugin
啊,难道集成到webpack
中不是更方便吗?
这里就不得不说下了,在Vue Loader-代码校验 (Linting)中有介绍如何集成stylelint
到 webpack
,做自动化检测。
但是这个配置其实不适用在由vue cli3
生成的项目中。配置stylelint-webpack-plugin
插件到vue.config.js
中之后,项目运行不起来。😣
usage
规则文件
新建规则文件:.stylelintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21module.exports = {
extends: [
'stylelint-config-standard',
'stylelint-config-prettier'
],
rules: {
'rule-empty-line-before': null,
'at-rule-empty-line-before': null,
'no-descending-specificity': null,
'font-family-no-missing-generic-family-keyword': null,
'max-empty-lines': 1,
'block-opening-brace-space-before': 'always',
'indentation': [2],
'function-comma-space-after': 'always-single-line',
'selector-list-comma-newline-after': 'always',
'value-list-comma-newline-after': 'always-multi-line',
'declaration-block-trailing-semicolon': 'always',
'declaration-colon-space-after': 'always',
'color-hex-case': 'lower'
}
}
因为我在项目用了prettier
来格式化js代码,为了保证其与stylelint
不冲突,我extends
了stylelint-config-prettier
。
这样我就不得不加一些自定义的rules
了。因为stylelint-config-prettier
的规则真的很弱,很多都不检查。
当然如果要忽略某些文件,可以建一个.stylelintignore
文件。
package.json
在package.json
中定义script
来自动运行监测。
1 | { |
这样配置package.json
文件之后,就可以手动运行yarn lint:style
来检查样式代码了,或者yarn lint:style --fix
来自动矫正
在lint-staged
中加的代码,是为了能在代码git commit
之前自动做一个检查,也就不需要每次都手动去跑命令了。
vscode工具
在vscode
中安装stylelint
插件,按照他的要求修改下settings.json
1 | "css.validate": false, |
但是这个插件目前还不支持在保存时自动fix。stylelint-plus
可以,但是下载量还是较少
So,到此,引入stylelint
成功。👏👏👏
参考
原文作者: Sampwood
原文链接: https://sampwood.github.io/2019/10/09/stylelint/
许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议