为什么Babel会抛出未知选项:......孩子们?

时间:2018-06-02 18:25:36

标签: babeljs babel-jest circleci-2.0

尝试在CircleCi上运行构建并且它在测试时失败了。同样的东西在我的本地工作完美。 我的.babelrc配置:

{
  "presets": [
    "es2015",
    "react",
    "stage-2"
  ],
  "plugins": [
    "transform-class-properties",
    "react-hot-loader/babel",
    ["babel-plugin-transform-builtin-extend", {
      "globals": ["Error", "Array"]
    }],
    ["transform-runtime", {
      "polyfill": false,
      "regenerator": true
    }]
  ]
}

我从circleCI获得错误:

yarn test v0.27.5
$ jest 
 FAIL  src/utils/service-helper.test.js
  ● Test suite failed to run

    ReferenceError: [BABEL] /home/circleci/repo/src/utils/service-helper.test.js: Unknown option: /home/circleci/repo/node_modules/react/index.js.Children. Check out http://babeljs.io/docs/usage/options/ for more information about options.

    A common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:

    Invalid:
      `{ presets: [{option: value}] }`
    Valid:
      `{ presets: [['presetName', {option: value}]] }`

任何想法是什么,因为相同的配置正在处理另一个项目

1 个答案:

答案 0 :(得分:6)

该错误无用,但问题是您的配置在预设列表中有react,但它无法找到您babel-preset-react中的node_modules模块,因此相反,它正在加载react模块本身,就好像它是一个预设。但由于"react"模块不是预设,因此Babel会抛出。

很有可能,您忘记在babel-preset-react中列出package.json