如何使用位于父目录中的 eslint 插件模块?

Posted

技术标签:

【中文标题】如何使用位于父目录中的 eslint 插件模块?【英文标题】:How to use eslint plugin modules located in parent directory? 【发布时间】:2017-09-07 14:05:15 【问题描述】:

我有一些服务以这种方式组织成一个 monorepo:

repo_root/ ├── services/ │ ├── service_one/ │ ├── service_two/ │ └── service_three/ ├── package.json ├── node_modules ├── .eslintrc

此外,每个单独的服务都有自己的package.jsonnode_modules。我想使用存储在repo_root 目录中的 eslint 配置来对单个服务进行 lint。我的问题是,当我尝试运行类似

eslint services/service_one

比如找不到.eslintrc需要的安装在repo_rootnode_modules目录下的eslint插件模块。

我想避免在每个服务中都需要这些插件模块。无论如何配置 eslint 以智能地查找模块,即使它们位于服务本身的父目录中?

【问题讨论】:

根据您的描述,它应该可以工作,因为evything看起来不错。你能分享一下确切的错误吗,你确定插件已安装.. 也分享你的 .eslintrc 内容 最好的情况是您可以分享项目或在 github 上设置可重现的案例 n 在此处分享链接... 你是对的,请看下面我的回答。下次我一定会发布一些示例代码。感谢您的反馈! 【参考方案1】:

对于任何想知道的人,我的问题是我正在使用全局安装的 eslint 运行命令,而后者又会查找全局模块。将其更改为运行本地版本的 eslint 后,一切正常!

【讨论】:

以上是关于如何使用位于父目录中的 eslint 插件模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何让本地 eslint 插件与本地安装的 eslint 一起工作

无法加载插件@typescript-eslint:找不到模块'eslint-plugin-@typescript-eslint'

flutter如何使用配置文件pubspec.yaml(位于项目根目录)来管理第三方依赖包

VSCode 加载插件失败找不到模块 'eslint-plugin-prettier'

vue-cli中的ESlint配置文件eslintrc.js详解

父目录中模块的相对导入