我正在尝试捆绑我自己的代码(A),该代码又使用 2 个第三方组件(B 和 C),其中 C 也需要 B。据我所知,所有内容都是使用 CommonJS 节点样式模块编写的。
捆绑时单独的 A 输出为 60K。
B 单独包含并假定为全局的,通过在我的构建步骤中进行一些肮脏的替换,将 require("B") 替换为 global.B,我可以正常工作
C 是什么导致了我的问题,它的大小意味着“只有 8K”,但是当我尝试将它与 A 捆绑在一起时,我的包会跳到 600K+,因为我认为它会吸引大量的依赖项?
这是不可接受的,但我不知道如何让它变得更小,因为我不知道它到底是什么(或更重要的是我可以排除什么以使其仍然有效)。我可以尝试使用排除法进行二元斩波,但我不知道这是否是一种安全的方式,甚至是明智的方式。
我怎样才能捆绑 C 并且只有我的捆绑包以 68.5K(两个代码块的总大小 60k + 8.5k)并且当然仍然可以工作?
我是 node 和 browserify 的新手,但我已经为此苦苦挣扎了一个多星期,所以公平地说,在举手之前我已经给了它一个很好的尝试。
附加信息(如果重要):
- 它需要运行服务器端和客户端
- B 实际上是 ReactJS
- C 实际上是 React Router 组件
- 通过 ReactJS.net 使用 windows 和 c#...嘿...等等...回来... tumbleweed