指定要将哪些 React 组件添加到 bundle

Specify which React components to be added to bundle

我有一个 components_settings 文件,它描述了应该包含在生产包中的组件列表,这个文件应该在构建过程中由 webpack 读取,例如

{
  RedButton:false,
  BlueButton:true
}

我将这两个文件作为 .jsx 组件提供,如果在 components_settings 文件中将它们设置为 false,我不希望这些组件的代码包含在我的生产包中。

我阅读了有关 tree shaking 的内容,并设法消除了未使用的代码,但是当我尝试有条件地渲染时,例如 {process.env.NODE_ENV == "development" ? <RedButton /> : null},在生产包中,代码仍包含在内:/

如果 tree shaking 在这里是错误的方法,我愿意接受 other/better 解决方案。 感谢您的帮助

看看可加载 (https://github.com/jamiebuilds/react-loadable)。它应该非常适合您正在寻找的代码拆分,这也包含在大部分样板文件中。

使用 webpack 的 define 插件解决了这个问题。