ES6 + Babel:获取TypeError:actions.helloOne()不是函数

时间:2017-05-25 16:02:33

标签: javascript ecmascript-6 babeljs

我开始使用webpack和babel构建一个React应用程序(弹出create-react-app)。但是我无法导入带有实用程序功能的外部.js文件。

每当我尝试拨打actions.helloOne()时,都会收到以下错误:TypeError: actions.helloOne is not a function

我还是JS的新手,所以我可能会遗漏一些明显的东西。

helloActions.js

export function helloOne() {
  console.log('one')
}
export function helloTwo() {
  console.log('two')
}

actions.js

import { helloOne, helloTwo } from './helloActions'

export {
  helloOne,
  helloTwo
}

service.js

import * as actions from './actions'

actions.helloOne(); <-   undefined

的package.json

"babel-core": "6.22.1",
"babel-eslint": "7.1.1",
"babel-jest": "18.0.0",
"babel-loader": "6.2.10",
"babel-preset-react-app": "^2.2.0",
"babel-preset-es2015": "6.24.1",
"babel-preset-stage-2": "6.5.0",
"babel-plugin-transform-decorators-legacy":"1.3.4",
"babel-plugin-transform-class-properties": "6.11.5",
...
"babel": {
  "presets": [
    "react-app",
    "es2015",
    "stage-2"
  ],
  "plugins": ["transform-decorators-legacy","transform-class-properties"]
}

1 个答案:

答案 0 :(得分:1)

我设法解决了我的问题,代码是正确的,因为 Andrew Li 提到了。

我在导入行中的一个文件的路径上有一个小错误(基本上错过了.js,这导致babel做了奇怪的事情而没有抛出错误。)