我的vue项目中有一些组件。我不喜欢import loader from '@/components/someComponent1/someComponent1.vue';
,因为写的很多,我必须为每个组件重复它。所以我为index.js
文件夹写了一个components
:
export { default as someComponent1 } from './someComponent1/someComponent1.vue';
export { default as someComponent2 } from './someComponent2/someComponent2.vue';
...
这将允许我在一行中导入多个组件:
import { someComponent1, someComponent2 } from '@/components';
我的问题:index.js
- ish-way是否可能比通常的进口更慢(甚至可能是不好的做法)?我想知道,因为在上面的示例中执行“加载”整个导出的对象并对其进行解构,而“正常”导入则不是这样。
答案 0 :(得分:5)
不,它不慢(不是很多,当然它必须再加载一个文件,而IO将占用大部分额外的时间)。
导入始终加载整个模块,创建所有导出的值,并解析导入的绑定。是否仅使用一个或所有导出的绑定并不重要。导入声明使用的语法并不重要。分辨率是否通过额外的index.js
文件并不重要,最后在运行时使用的引用完全相同。
相反,我认为使用这样的index.js
文件是一个好习惯,如果它可以使你的模块更易于维护。