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

UE丶广云 阅读 3

我用 PostCSS 配合 stylelint 做 CSS 代码检查,但不管怎么改配置,stylelint 都没报任何错误,哪怕我故意写错语法。是不是插件顺序或者配置哪里有问题?

我的 postcss.config.js 是这样写的:

module.exports = {
  plugins: [
    require('stylelint')(),
    require('autoprefixer')
  ]
}
我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
巧玲
巧玲 Lv1
stylelint 在 PostCSS 中不生效,通常是配置顺序或者插件配置的问题。在 PostCSS 中,插件执行是有顺序的,stylelint 应该放在最前面,因为它负责检查代码,而不是修改代码。你当前的配置里,stylelint 放在 autoprefixer 后面了,这样 stylelint 就不会对原始的 CSS 文件进行检查,而是对 autoprefixer 处理后的 CSS 进行检查,这可能会导致 stylelint 没有按预期工作。

你可以尝试调整一下 postcss.config.js 中的插件顺序,让 stylelint 放在第一位:

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


改为:

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


不过这里看起来你已经把 stylelint 放在第一位了,可能是我理解错了你的意思。如果是这样,你需要确保 stylelint 的配置文件存在并且正确配置了规则。检查项目根目录下是否有 .stylelintrc 或者 stylelint.config.js 文件,并且里面定义了一些规则,否则 stylelint 即便运行也不会报错。

另外,确保你的代码编辑器或者构建工具正确集成了 stylelint。如果你是在命令行中运行 stylelint,可以试试直接运行 npx stylelint "src/**/*.css" 来看是否能正常工作,这样可以排除 PostCSS 配置的影响。
点赞
2026-03-21 17:01