不使用花括号引用
对于一个需要引入A.js
模块的B.js
文件来说
如果A.js
模块中使用了export default
即A.js
的写法为 export default {...}
则可以使用不带花括号的语法进行引用
//B.js
import A from './A'
上述代码中,import模块的命名是随意的,即A可以替换为其他名称,如
//B.js
import Alpha from './A'
import Hello from './A'
它总是会解析到A.js
中默认的export default
使用花括号引用
如果在模块A.js
中有命名导出为A的export name
代码,即
export const A=...
在明确了命名和导出后,在B.js
中进行引用时,则需要使用{}
,而且import时必须要按照模块导出的命名方式
//B.js
import{ A }from'./A'// 正确,因为A.js中有命名为A的export
import{ myA }from'./A'// 错误!因为A.js中没有命名为myA的export
import{Something}from'./A'// 错误!因为A.js中没有命名为Something的export
如果需要上述代码正确执行,则需要明确声明每一个命名输出,如:
// A.js
exportconst A =42
exportconst myA =43
exportconstSomething=44
如果A.js
模块中有多个命名,可以一次性将他们导入:
// B.js
import A,{ myA,Something}from'./A'
在导入时,可以使用as
语法进行重命名,如:
// B.js
import X,{ myA as myX,SomethingasXSomething}from'./A'
Comments NOTHING