StyleLint如何配置忽略node_modules和特定文件夹的检查?
我在项目里用了StyleLint做CSS检查,但每次运行都会报node_modules和dist目录的错误。试过在配置文件里加"ignoreFiles": ["node_modules/**"],但还是没用,控制台还是显示这些文件的警告,怎么办?
这是我的配置文件片段:
{
"extends": "stylelint-config-standard",
"ignoreFiles": ["node_modules/**", "dist/**"],
"rules": {
"no-descending-specificity": true
}
}
项目结构是常规的,node_modules和dist都是顶层目录。有没有可能是路径写法不对?或者需要额外安装插件?
stylelint "**/*.css"或stylelint "src/**/*.scss"),它还是会去遍历 node_modules 和 dist 里的文件。最稳妥的方式是显式排除路径,用
--ignore-pattern参数或者在 CLI 命令里用!node_modules/**这种否定 glob。比如你用 npm script 的话,改成这样:或者更推荐直接在 package.json 里用
stylelint-config-standard推荐的方式——改用overrides+files组合来限制扫描范围,比如:另外确认下你是不是用了
stylelint-webpack-plugin或stylelint-loader,这些构建插件有时候会绕过配置里的 ignoreFiles,得单独在插件里配置failOnError和files范围。最后提醒一句:node_modules 里有些包的 CSS 可能是给旧浏览器准备的(比如某些 polyfill),真要 lint 也得先评估下要不要管它,别为了规则牺牲浏览器兼容性。
ignoreFiles配置没问题,但 StyleLint 的 CLI 默认不会读取它,得用.stylelintignore文件。在项目根目录新建个.stylelintignore,写上:就这样。