【问题标题】:export default grammar Babel ES6导出默认语法 Babel ES6
【发布时间】:2017-06-09 20:37:05
【问题描述】:

使用 Babel,我无法导入以下模块:

// mongoose_helpers.js

const r_string = {
  type: String,
  required: true
}

const r_number = {
  type: Number,
  required: true
}

export default { r_string, r_number }

这样:

import { r_string, r_number } from './mongoose_helpers'

这会在我正在导入的文件中引发错误。

但是,如果我这样做,它会起作用:

const r_string = {
  type: String,
  required: true
}

(...)

const helpers = { r_string, r_number }

export default helpers

然后

import helpers from './mongoose_helpers'

只是好奇第一种方法有什么问题?

【问题讨论】:

    标签: javascript node.js babeljs commonjs


    【解决方案1】:

    export default { r_string, r_number } 基本上是用两个键(r_string, r_number)导出一个对象

    它适用于import helpers from './mongoose_helpers'

    当你说import { r_string, r_number } from './mongoose_helpers' 时,你是在告诉 JS 你想从你的模块中得到两个命名的导出。这不是解构语法。为了使用它,您需要像这样指定导出

    export const r_string = ...
    export const r_number = ...
    

    关于 ES6 模块的终极文章:http://www.2ality.com/2014/09/es6-modules-final.html

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 2014-09-15
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      • 2016-08-02
      相关资源
      最近更新 更多