在开发项目中,经常需要处理样式表,如CSS、Sass、Less等。而随着项目规模的增大,样式表的数量也会越来越多,样式表的维护变得更加复杂。而stylelint作为一个样式表的静态分析工具,可以帮助发现和纠正样式表中的问题,提高项目的代码质量和规范。
yarn add -D \ sass \ sass-loader \ stylelint \ postcss \ postcss-scss \ postcss-less \ postcss-html \ stylelint-config-prettier \ stylelint-config-recess-order \ stylelint-config-recommended-scss \ stylelint-config-standard \ stylelint-config-standard-vue \ stylelint-scss \ stylelint-order \ stylelint-config-standard-scss \ stylelint-less
touch .stylelintrc.cjs然后在文件中添加以下内容:
module.exports = { extends: [ "stylelint-config-recommended", "stylelint-config-recess-order", "stylelint-config-recommended-scss", "stylelint-config-standard", "stylelint-config-standard-vue", "stylelint-config-standard-scss", ], rules: { // 在这里可以自定义的规则,覆盖默认的规则 }, };
这样,就创建了一个基本的stylelint配置文件,并引入了一些常用的规则集。
touch .stylelintignore然后在文件中添加以下内容:
/node_modules/* /dist/* /html/* /public/*
这样,stylelint在运行时将会忽略node_modules、dist、html和public目录下的文件。
"scripts": { "lint:style": "stylelint src/**/*.{css,scss,vue} --cache --fix" }
这样,就可以使用yarn lint:style命令来运行stylelint检查样式文件了。它会检查src目录下所有后缀为.css、.scss和.vue的文件,并尝试自动修复一些错误。
yarn add -D lint-staged然后,在package.json文件中添加以下内容:
"lint-staged": { "src/**/*.{css,less}": [ "prettier --write", "npx stylelint --fix", "git add" ] }
这里的配置意思是在提交文件时,对src目录下所有后缀为.css和.less的样式文件进行自动格式化和修复,并将修改后的内容添加到git暂存区。
yarn add -D eslint-webpack-plugin@4.0.1 stylelint-webpack-plugin@4.1.1然后,在webpack配置文件中引入这些插件并配置:
const StylelintPlugin = require('stylelint-webpack-plugin'); const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = { // ...其他配置项 plugins: [ // ...其他插件 new ESLintPlugin({ extensions: [ 'js', 'jsx', 'ts', 'tsx', ], }), new StylelintPlugin({ configFile: '.stylelintrc.cjs', files: '**/*.{css,scss}', }), ], // ...其他配置项 };
使用上述配置后,当运行webpack时,它将会在构建过程中对样式文件进行检查。如果发现样式文件中存在问题,webpack将会在控制台输出错误信息,并阻止构建过程。
touch src/index.css vim src/index.css然后在index.css文件中添加一些混乱的样式代码。
接下来,运行yarn lint:style命令,这将会触发stylelint对src目录下的样式文件进行检查和修复。