【问题标题】:webpack - exclude files from specific entry pointwebpack - 从特定入口点排除文件
【发布时间】:2018-11-27 12:11:00
【问题描述】:

在我的应用程序中,我有多个入口点。 一个入口点是创建一个仅适用于已登录用户的捆绑包。

有没有办法告诉 webpack 不要捆绑任何需要限制到“公共”捆绑包中的文件?而不是捆绑它/抛出编译错误?

每个入口点是否有一个排除项?

我能想到的唯一解决方案是创建两个单独的 webpack 配置文件,有没有更好的方法?

谢谢

--- 编辑---

我会尝试重新表述这个问题 - 有没有办法强制将某些文件从特定包/入口点中排除,或者换句话说,我想要在特定包中而不是在任何其他包中的文件,我想强制执行它.

【问题讨论】:

  • 只是不要在文件中的任何位置要求/导入该文件,这样 webpack 将永远不会捆绑它
  • 是的,但我正在寻找一种方法来执行它

标签: javascript webpack


【解决方案1】:

来自 Webpack 文档链接: Exclude FileMultiple Configurations

module.exports = [{
      output: {
        filename: './dist-amd.js',
        libraryTarget: 'amd'
      },
      name: 'amd',
      entry: './app.js',
      mode: 'production',
      rules: [
              {
                test: /\.js$/,
                exclude: [
                    'src/configs/configs/your1.js'
                  ]
              }
            ]
    }, {
      output: {
        filename: './dist-commonjs.js',
        libraryTarget: 'commonjs'
      },
      name: 'commonjs',
      entry: './app2.js',
      mode: 'production', 
      rules: [
              {
                test: /\.js$/,
                exclude: [
                    'src/configs/configs/your2.js'
                  ]
              }
            ]
    }];

  };

特别感谢 @Axnyff 完成我的回答。

【讨论】:

  • 谢谢,但我希望每个条目都有,我认为这条规则适用于所有条目
  • @naortor 可以使用 Goldy 的解决方案和多编译器来解决这个问题,这意味着您导出两个配置而不是多个条目:webpack.js.org/configuration/configuration-types/…
  • @Axnyff 谢谢,我想这就是我想要的,如果你把它写成答案我会接受它(正如我在问题中所说,我已经熟悉排除选项,正在寻找一种解决方案,使每个条目都具有)
猜你喜欢
  • 2021-06-04
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-14
  • 2020-05-05
  • 2018-12-22
  • 1970-01-01
相关资源
最近更新 更多