stylelint 在 PostCSS 中不生效是怎么回事?

百里宝玲 阅读 37

我最近在项目里配置了 PostCSS 和 stylelint,想用它来规范团队的 CSS 写法。但不管怎么改规则,PostCSS 编译时都没报错,也不提示任何 stylelint 的警告或错误。我明明在 postcss.config.js 里加了 stylelint 插件:

module.exports = {
  plugins: [
    require('stylelint')(),
    require('autoprefixer')
  ]
}

也装了 stylelint 和对应的 config 包,比如 stylelint-config-standard,但就是没反应。是不是插件顺序的问题?还是说 stylelint 根本不能直接在 PostCSS 里这样用?

我来解答 赞 23 收藏
二维码
手机扫码查看
1 条解答
A. 春芳
A. 春芳 Lv1
你的问题很简单,stylelint 不能直接这样当 PostCSS 插件用,它本身就不是设计来这么干的。

stylelint 是独立的 lint 工具,不是 PostCSS 插件。你 require 进来的话它根本不会按你预期的方式工作。

想让它在 PostCSS 流程里跑起来,你得用专门的包:postcss-stylelint

安装一下:

npm install postcss-stylelint --save-dev


然后改一下配置:

module.exports = {
plugins: [
require('postcss-stylelint')({
config: {
extends: 'stylelint-config-standard'
}
}),
require('autoprefixer')
]
}


这样 stylelint 就会在 PostCSS 编译 CSS 的时候跑起来了,有问题会直接报错。

不过我多说一句,stylelint 通常更适合在代码提交前或者 CI 环节跑,而不是放在编译流程里。一旦有错误就直接构建失败,体验不太好。常见做法是用 husky + lint-staged 在 git pre-commit 阶段检查,或者直接在 CI 里跑。这样开发时不会被打断,又能把控代码质量。
点赞
2026-03-17 16:04