假设我有一个模块foo
像这样:
export const f = x => x + 1;
export const g = x => x * 2;
我可以像这样使用这个模块:
import { f, g } from 'foo';
console.log(f(g(2)));
或者像这样:
import * as foo from 'foo';
console.log(foo.f(foo.g(2)));
我更喜欢第二种方式,因为它可以防止模块之间的名称冲突。
然而,是import *
效率较低?它是否会阻止捆绑程序(例如 Rollup 和 Webpack)发现未使用的导入并删除它们?
当您将导入指定为import { f, g } from 'foo';
您可以保证在编译速度和包大小方面获得更好的性能,因为您将只获得所需的依赖项。
注意:正如 loganfsmyth 指出的那样,最近的一些编译器/包只能引用实际正在使用的内容,这个 IMO 是一个额外的步骤,可能会花费一些编译时间(尽管我没有时间对这个假设进行基准测试)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)