导出默认语法 Babel ES6
export default grammar Babel ES6
使用 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'
只是好奇第一种方法有什么问题?
export default { r_string, r_number }
基本上是用两个键导出一个对象 (r_string, r_number)
它将与 import helpers from './mongoose_helpers'
一起使用
当你说 import { r_string, r_number } from './mongoose_helpers'
时,你是在告诉 JS 你想要从你的模块中导出两个 named exports。这不是解构语法。为了使用它,您需要像这样指定导出
export const r_string = ...
export const r_number = ...
ES6模块终极篇:http://www.2ality.com/2014/09/es6-modules-final.html
使用 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'
只是好奇第一种方法有什么问题?
export default { r_string, r_number }
基本上是用两个键导出一个对象 (r_string, r_number)
它将与 import helpers from './mongoose_helpers'
当你说 import { r_string, r_number } from './mongoose_helpers'
时,你是在告诉 JS 你想要从你的模块中导出两个 named exports。这不是解构语法。为了使用它,您需要像这样指定导出
export const r_string = ...
export const r_number = ...
ES6模块终极篇:http://www.2ality.com/2014/09/es6-modules-final.html