Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 希望通过webpack在构建时动态排除代码块形成捆绑包_Reactjs_Webpack - Fatal编程技术网

Reactjs 希望通过webpack在构建时动态排除代码块形成捆绑包

Reactjs 希望通过webpack在构建时动态排除代码块形成捆绑包,reactjs,webpack,Reactjs,Webpack,我需要能够有条件地构建一个产品,它是一个为众多客户机打上白色标签的单一代码库,并且存在这样的用例,即某个组件或组件集只需要为单个客户机实例存在 我发现有很多webpack加载器可以处理这个问题,但它们依赖于从react DOM中剥离出来的注释,而且我在webpack中知道的配置选项在这一点之前都无法访问代码 { enforce: 'pre', test: /\.(tsx?|js)$/, exclude: /node_modules/, use: [

我需要能够有条件地构建一个产品,它是一个为众多客户机打上白色标签的单一代码库,并且存在这样的用例,即某个组件或组件集只需要为单个客户机实例存在

我发现有很多webpack加载器可以处理这个问题,但它们依赖于从react DOM中剥离出来的注释,而且我在webpack中知道的配置选项在这一点之前都无法访问代码

  {
    enforce: 'pre',
    test: /\.(tsx?|js)$/,
    exclude: /node_modules/,
    use: [
      {
        loader: "webpack-remove-block-loader",
        options: {
          active: true, // Boolean. loader on or off
          start: "{/*", // String.
          end: "*/}", // String.
          blocks: ['client'+argv.entryCode], // Array.
        }
      }
    ]
  },
有没有一种方法我不想在纯tsx上运行它,或者以某种方式保留所需的注释


或者,使用任何其他方法来管理类似的内容。在大多数情况下,它将是一个特定于客户端的组件,但也可能需要排除某些帮助器功能,而上述网页加载器应能完美工作。

只需有条件地添加整个规则即可

大概是这样的:

if (active) {
  config.module.rules.push({
    // ...the rule you posted in your question
  })
}


只需有条件地添加整个规则

大概是这样的:

if (active) {
  config.module.rules.push({
    // ...the rule you posted in your question
  })
}