stylelint 在 PostCSS 中不生效是怎么回事?
我最近在项目里配置了 PostCSS 和 stylelint,想用它来规范团队的 CSS 写法。但不管怎么改规则,PostCSS 编译时都没报错,也不提示任何 stylelint 的警告或错误。我明明在 postcss.config.js 里加了 stylelint 插件:
module.exports = {
plugins: [
require('stylelint')(),
require('autoprefixer')
]
}
也装了 stylelint 和对应的 config 包,比如 stylelint-config-standard,但就是没反应。是不是插件顺序的问题?还是说 stylelint 根本不能直接在 PostCSS 里这样用?
stylelint 是独立的 lint 工具,不是 PostCSS 插件。你 require 进来的话它根本不会按你预期的方式工作。
想让它在 PostCSS 流程里跑起来,你得用专门的包:
postcss-stylelint安装一下:
然后改一下配置:
这样 stylelint 就会在 PostCSS 编译 CSS 的时候跑起来了,有问题会直接报错。
不过我多说一句,stylelint 通常更适合在代码提交前或者 CI 环节跑,而不是放在编译流程里。一旦有错误就直接构建失败,体验不太好。常见做法是用 husky + lint-staged 在 git pre-commit 阶段检查,或者直接在 CI 里跑。这样开发时不会被打断,又能把控代码质量。