我正在开发一个大型 JavaScript 项目,该项目分为几个子模块,每个子模块都有自己的 git 存储库和节点依赖项。我们还有一个入口点模块App
,它具有 Webpack 和 ESLint 配置。
由于大部分开发者会在几个模块上协同工作,而不是等待每个模块发布,我们使用npm link
将子模块连接到 App 模块,因此在开发过程中对子模块的更改会立即生效对App
模块可见。
我们遇到了问题,eslint-loader
不仅要检查App
模块源代码,还要检查所有通过npm link
. 对子模块的代码进行 linting 时,eslint-loader
无法解析子模块的本地路径。
我有办法解决这个问题吗?
这是该项目的示例结构:
--- App
| src
| node_modules
|- Sub_module_x
| src
| node_modules
|- Sub_module_y
src
node_modules
这是 eslint-loader 的相关部分webpack.config.js
:
module: {
preloaders: [
{
test: /\.js$/,
loader: 'eslint-loader',
exclude: [
path.resolve(__dirname, 'node_modules', 'Sub_module_x'), // If this is commented, the loader would lint Sub_module_x, but cannot resolve any files which import other files
/node_modules/
]
}
]
}