Your time is limited,
so don't waste it living someone else's life.

ES6中的import和export

一、import

语法:

引入模块的整个内容。下例会将myModule添加到当前作用域内,myModule会包含my-module模块暴露的所有东西(但不会包含默认输出的member):

引入模块的单一member。下例会将myMember添加到当前作用域内。

引入模块的多个member。下例会将foo和bar都添加到当前作用域内。

将模块的一个member以别名进行引入。下例会将别名shortName添加到当前作用域内。

将整个模块引入,但是并不需要所引模块中暴露的方法、属性等,需要的只是side effects。可以通过下面这种方法进行引入。说明:比如,你引入一个模块不是为了要用它暴露出来的方法、属性等,只是为了实现某种初始化,这就算side effects。

引入模块默认输出的member。

默认member也可以和其他member一同引入。在这种情况下需要先声明默认member再声明其他member。比如这样:

或者这样:

二、export

export声明用于暴露给定文件(或模块)中的函数、对象、或JS基本数据类型。

语法:

export分两种形式:Named exports和Default exports(每个脚本里只能有一个默认输出)。

下面是named exports的例子:

下面是default export(每个脚本里只能有一个默认输出)的例子(请注意,此处结尾处不用分号):

请注意,下面这种写法不会暴露默认输出的member:

如果,你需要输出默认member,用下面这种写法替换上面的:

 

参考资料:
  • https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import
  • https://stackoverflow.com/questions/41127479/es6-import-for-side-effects-meaning
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
赞(0) 打赏(金额可任意指定)
未经允许不得转载:峰间的云 » ES6中的import和export

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏