使用网络包优化库

时间:2018-03-29 18:09:23

标签: reactjs webpack lazy-loading code-splitting

我正在尝试发布一个包含反应UI组件的小型库。这些组件具有依赖关系:Matarial UI,React Rotuer等;

当我构建我的代码时,我收到有关超出建议的捆绑包大小的警告。我在451Kib。当我分析我的包时,我注意到其中96.1%是从node_modules添加到包中的依赖项。

由于我只是要发布一些也将用webpack导入的组件,有没有办法从我的bundle中排除依赖项,并将它们打包在任何使用我的组件的应用程序的包中?

我认为我需要使用代码分割,或延迟加载等,但我不确定正确的入门方式。

1 个答案:

答案 0 :(得分:0)

我可以给你的建议:

  1. Use webpack-node-externals从包中排除node_modules。如果您的代码依赖于不会包含在用户应用中的软件包,请使用whitelist将其捆绑在一起。

  2. 同时在package.json中将Matarial UI,React Rotuer(可能会作出反应)标记为peerDependecies