使用npm模块和webpack进行握手的规则

时间:2018-07-01 17:38:24

标签: javascript npm webpack

如果我有一个npm软件包,可从1个index.js文件导出所有组件:

export * from './components/A';
export * from './components/B';

然后,如果我还有另一个使用此软件包的软件包:

import {A} from 'my-package';

components/B的内容是否会捆绑在一起,即使它在消费包中从未使用过?

有没有解决的办法?

1 个答案:

答案 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:如果要在末尾使用优化的代码,请始终使用命名的导出/导入。