如果我有一个npm软件包,可从1个index.js文件导出所有组件:
export * from './components/A';
export * from './components/B';
然后,如果我还有另一个使用此软件包的软件包:
import {A} from 'my-package';
components/B
的内容是否会捆绑在一起,即使它在消费包中从未使用过?
有没有解决的办法?
答案 0 :(得分:0)
这样做:
export * from './components/A';
export * from './components/B';
与这样做相同:
export class A () ...
export class B () ...
如果您只是import {A}...
,您就是在告诉webpack您只关心的是A。
通过使用命名的导入,webpack只能捆绑A的内容,而不能捆绑B的最终输出。
TL; TR:如果要在末尾使用优化的代码,请始终使用命名的导出/导入。