首页 > 其他 > 详细

3分钟带你搞懂ES6 import 和 export

时间:2017-08-15 13:52:07      阅读:250      评论:0      收藏:0      [点我收藏+]

如下语句是 default import:

// B.js
import A from ‘./A‘

且只在A存在 default export 时生效:

// A.js
export default 42

这种情况下你用import语句, 随便取什么名字都没关系:

// B.js
import A from ‘./A‘
import MyA from ‘./A‘
import Something from ‘./A‘

因为他最终解析的是A.js 的 default export.


如下是命名为A的 import :

import { A } from ‘./A‘

它只在A.js存在 具名export 时起作用, 像这样:

// A.js
export const A = 42

这种情况下指定命名是有必要的, 因为你要从A.js的 export 里 import 即引入特定东西:

// B.js
import { A } from ‘./A‘
import { myA } from ‘./A‘ // 无效!
import { Something } from ‘./A‘ // 无效!

要使引入生效, 你需要添加对应的 具名export :

// A.js
export const A = 42
export const myA = 43
export const Something = 44

 


每个 module 只能有一个  default export, 但可以有任意多个 具名export, 也可以将它们放在一起引用:

// B.js
import A, { myA, Something } from ‘./A‘

可以看到这里我们引入了 default export 并命名为A, 引入 A.js 的 myA 和 Something 这两个具名export

// A.js
export default 42
export const myA = 43
export const Something = 44

import时我们还可以用 as 语句为他们起个别名:

// B.js
import X, { myA as myX, Something as XSomething } from ‘./A‘

 

3分钟带你搞懂ES6 import 和 export

原文:http://www.cnblogs.com/skura23/p/7364642.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!