如何配置.eslintrc.js检测其根目录外的CommonFolder文件夹?
解决ESLint同时检测项目目录与共享CommonFolder的配置问题
明确文件夹层级结构
├── MyProjectFolder/ │ ├── .eslintrc.js │ └── src/ └── CommonFolder/ └── src/
你之前配置的核心问题
你写的"override: [ files: ['src/**/*.js', '../CommonFolder/src/**/*.js'] }]"存在两处语法错误:
- 配置项应为复数形式**
overrides**,而非override - 语法嵌套混乱:数组内的规则项需是完整的对象,引号与括号的使用不符合JS语法规范
正确配置方案
以下两种方式均可实现同时检测项目目录与CommonFolder的需求:
方案1:使用overrides配置(推荐,支持针对共享目录单独设置规则)
在MyProjectFolder/.eslintrc.js中添加如下配置:
module.exports = { // 你的基础ESLint配置(环境、继承规则、自定义规则等) env: { browser: true, es2021: true }, extends: ['eslint:recommended'], rules: { // 项目通用规则 }, // 共享目录检测规则 overrides: [ { files: [ './src/**/*.js', // 项目自身src目录下的所有JS文件 '../CommonFolder/src/**/*.js' // 同级CommonFolder下的所有JS文件 ], // 可选:针对共享目录单独设置特殊规则 rules: { // 示例:关闭共享目录的console报错 'no-console': 'off' } } ] };
方案2:直接在根配置的files字段指定检测范围
若无需针对共享目录单独设置规则,可直接在根配置中添加files字段:
module.exports = { files: [ './src/**/*.js', '../CommonFolder/src/**/*.js' ], // 你的基础配置... env: {...}, extends: [...], rules: {...} };
补充方案:通过命令行指定检测路径
若不想修改配置文件,可在MyProjectFolder目录下执行ESLint命令时直接指定两个路径:
eslint src/ ../CommonFolder/src/
注意事项
- 确保当前用户对
CommonFolder目录有读取权限,否则ESLint会提示路径无效 - 若
CommonFolder自身存在.eslintrc.js,ESLint会优先使用该目录的配置;如需统一规则,可在项目配置中添加root: true强制使用当前配置
内容的提问来源于stack exchange,提问作者perun_the_mighty
相关产品推荐
相关产品推荐

