7

我正在开发一个大型 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/
            ]
        }
    ]
}
4

0 回答 0