我有一个多入口点 webpack 构建,我正在努力优化生产的工件大小。webpack-bundle-analyzer
产生了以下图片:
很明显,AtlasKit依赖项占整个工件大小的很大一部分。具体来说,我看到它styled-components.es.js
重复了很多次。更重要的是,同样的依赖也存在,vendor.js
它本身在所有其他包之间共享。
谁能解释为什么到处styled-components.es.js
重复以及为什么不能通过单个依赖项共享它vendor.js
?我可以做些什么来删除重复项并且只依赖于中的单个styled-components.es.js
依赖项vendor.js
?
node_modules
我发现 AtlasKit 依赖项有一个包含在包中的嵌套文件夹有点奇怪。为什么dist
还不够?styled-components.es.js
也许这就是为什么不能通过共享的部分原因vendor.js
?
我试图通过 webpack 的 IgnorePlugin 手动排除依赖项(类似于moment.js
语言环境),但到目前为止未能这样做。
任何见解将不胜感激。谢谢!