【问题标题】:Webpack v5: Exclude on exclude no longer workingWebpack v5:排除时排除不再工作
【发布时间】:2021-08-20 01:59:53
【问题描述】:

我正在迁移到 webpack v5,并且似乎删除了对 exclude 中的 exclude 的支持。不过,我在迁移指南中没有看到任何关于它的内容。有什么想法吗?

在 webpack v4 中,我的 webpack 配置文件中有以下内容:

        {
            test: /\.(ts|js)$/,
            exclude: [
                {
                    // Exclude node_modules from running through babel-loader
                    test: path.resolve(__dirname, "node_modules"),
                    // Include (exclude from the exclusion) the MYCUSTOM folder.
                    // This is needed since MYCUSTOM itself isn't run through any transpilation but offered as a straight up typescript library.
                    exclude: path.resolve(
                        __dirname,
                        "node_modules/@MYORG/MYCUSTOM"
                    )
                }
            ],
            use: {
                loader: "babel-loader",
                options: {
                    cacheDirectory: true,
                    compact: false
                }
            }
        },

现在,在 webpack v5 中出现错误:

configuration.module.rules[1].exclude 有一个未知属性“test”。这些属性是有效的: 对象 { 和?,不是?,或者? }

我在文档中没有看到任何关于为什么删除它以及改用什么的答案。有什么建议吗?

【问题讨论】:

    标签: webpack


    【解决方案1】:

    出于同样的原因,我的配置也有一个 exclude-in-exclude,我刚刚从 Webpack 4 升级到 5 时遇到了这个问题。我不得不同意,文档实在是太少了。 (我已经打开an issue 要求他们添加更多示例!)

    他们似乎简化了格式,您直接指定excludeinclude conditions。试试这个:

    {
        test: /\.(ts|js)$/,
        exclude: path.resolve(__dirname, "node_modules"),
        include: path.resolve(__dirname, "node_modules/@MYORG/MYCUSTOM"),
        // use: ...
    },
    

    【讨论】:

      【解决方案2】:

      @Scott Martin,我试过了,但没有成功。我发现唯一可以使用的是将排除与“not”和“and”一起使用,如下所示:

                      exclude: [
                      {
                          and: [path.resolve(rootPath, "node_modules")],
                          not: [
                              path.resolve(
                                  rootPath,
                                  "node_modules/my_repo"
                              )
                          ]
                      }
                  ],
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-23
        • 1970-01-01
        • 2016-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-20
        相关资源
        最近更新 更多