我正在使用webpack + vue-loader创建vuejs应用程序。我有多个组件的.vue文件。当我像这样写东西时:
在ComponentA.vue和ComponentB.vue的script部分中,这是否会创建两个单独的lodash副本,还是只是导入一个引用?
导入 ES6 模块的任何部分(默认或命名导出)都会产生一个不可变绑定。
CommonJS 模块导出值,而ES6 模块导出不可变绑定。本文解释了这意味着什么。
[来源:ES6 Module Exports]
所以答案是否定的,它不会创建导出的副本。模块初始化一次,每个导入都将接收到对同一值的引用。
require()
也不会导致重复。对于同一模块的后续 require
,也将被替换为对相同值的引用。 - Linus Borg
lodash
在你使用它的两个位置指向同一个模块,那么该模块只会被实例化一次。 - Bergi