【问题标题】:Import with or without curly brackets in ES6 [duplicate]在 ES6 中导入带或不带大括号 [重复]
【发布时间】:2018-03-16 17:41:42
【问题描述】:

有什么区别:

import Title from './title.js'

import { Title } from './title.js'

?

我认为它与export default Title;export const Title; 有一些联系,但我不知道。

【问题讨论】:

标签: javascript ecmascript-6


【解决方案1】:

一个模块可以声明多个导出。例如export const Title;export const SubTitle;。当您import 这样的模块时,您会得到一个Object,其键是您声明的exports。

然后您可以使用函数参数对象解构(ES6 中提供的一项功能)从对象中仅选择您需要的导出。

请注意,如果您使用export default,则参数解构不可用,因为import 不一定会返回一个对象,除非您导出的是该对象。

【讨论】:

    【解决方案2】:

    developer.mozilla.org 中给出的

    可以有一个默认导出(无论是对象, 函数、类等)。然后可以使用 import 语句 导入此类默认值。

    最简单的版本直接导入默认:

    import myDefault from '/modules/my-module.js';

    参考文献https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 2016-12-08
      • 2016-02-21
      • 2010-10-12
      • 2017-01-22
      • 2017-10-05
      • 1970-01-01
      相关资源
      最近更新 更多