我正在从lodash导入一些函数,而我的同事告诉我,最好是分别导入每个函数,而不是将它们作为一个组导入。
当前方法:
import {fn1, fn2, fn3} from 'lodash';
首选方法:
import fn1 from 'lodash';
import fn2 from 'lodash';
import fn3 from 'lodash';
她的推理是,后者将导入较少的代码,因为它不会导入整个lodash库。
是这样吗?
答案 0 :(得分:2)
您想要的(以及首选的)称为tree shaking:
摇树是 在捆绑过程中删除未使用的代码。
执行此操作并利用树抖动的正确方法是:
import foo from 'lodash/foo' // <-- only import `foo`
此不会摇树:
import { foo } from 'lodash'
也显然是这样:
import _ from 'lodash'
对此语法的支持已在Lodash v4
中实现。
您可以阅读more here
答案 1 :(得分:1)
根据我发现的来源,import x from y;
从y
导入默认导出,并在文件中将其命名为x
。
因此,您的首选方法是使用3种不同的变量名称导入默认导出3次...
首选方法在生产中起作用吗?
来源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
https://medium.com/javascript-in-plain-english/javascript-modules-for-beginners-56939088f7d9
答案 2 :(得分:0)
我确实相信import {fn1, fn2, fn3} from 'lodash';
是导入不同模块导出的正确方法,但是,我认为使用这种方法可能会更好
import {
fn1,
fn2,
fn3
} from 'lodash';
因为不再需要它们,删除它们会更容易