ES6 导入/导出未按预期运行

Flá*_*lho 5 javascript reactjs babeljs react-native es6-modules

我不确定它是否与 react-native 相关,但这些是我的版本:

"react-native": "0.46.4", "babel-preset-react-native": "2.1.0",

// src/utils/a.js
export default 'a file works!'

// src/utils/b.js
export default 'b file works!'

// src/utils/index.js
import a from './a'
import b from './b'

export { a, b }
Run Code Online (Sandbox Code Playgroud)

基本上当我尝试:

import * as utils from 'src/utils'
// or
import { a, b } from 'src/utils'
Run Code Online (Sandbox Code Playgroud)

它返回未定义的“a”和“b”属性,例如

utils = { a: undefined, b: undefined }
Run Code Online (Sandbox Code Playgroud)

我不知道我在这里做错了什么,我的猜测是那些a/b.js文件没有在它们应该加载的时候加载,我之前做过的一个 hack 是在侦听器函数上,utils.auth我不得不这样做if (auth && auth.listener),并且奏效了,因为就在应用程序启动,侦听器未定义,但随后就变成了它应该是的样子。

编辑:似乎如果我尝试:

// src/utils/index.js
const a = 'a works'
const b = 'b works'

export { a, b }
Run Code Online (Sandbox Code Playgroud)

结果是一样的。

Flá*_*lho 0

谢谢你们的帮助。所以我发现有效的是:

import a from 'src/utils/a'
Run Code Online (Sandbox Code Playgroud)

正如@loganfsmyth所说,发生这种情况utils是因为当我尝试加载时仍在加载a。仍然不确定它是否与react-native模块导入或其他相关。