在关于import导入的时候,碰到一点疑惑?
看代码里,有的时候导入是:import XXComponent from './XXCiomponent.vue' (这是导入一个组件)
有的时候是:import {a, b, c} from './xxUtil'
就不太明白为什么有的时候要"{}",而有的时候不用?查了下资料,理解如下:
说到import,那么就要说到export,因为import导入的就是先要有export导出,看下面代码的export:
// A模块导出
export let str = '这是一段文字';
export function func() {
console.log('func方法')
}
-------------------------------
// B模块导入
import {str, func} from './A'
// A模块导出
export default "这是一段文字"
----------------------------
// B模块导入
import s from './A'
// A模块导出
export default function() {
console.log('打印内容')
}
---------------------------
// B模块导入
import funcc from './A'
看一下上面第一段代码和2,3的导出的区别:前面export的时候指定了变量名,而后面2个没有指定变量名,而是用的default(为模块指定默认输出)
再看一下他们import时的区别:
1 当指定了变量名,则import时需要对应A模块中指定的变量名来导入,而default则名字随便B模块导入时定义
2 当指定了变量名,则import时需要使用"{}"来进行导入,而default不用"{}"
因此就是:如果使用default这种默认值导出的方式,则另一个模块导入时可以随便定义名字 且 不需要使用 "{}"