React Native中的Spread运算符导致mocha

时间:2016-01-01 20:36:33

标签: javascript mocha ecmascript-6 react-native babeljs

我正在启动一个React Native项目,我想将ECMAScript 2015用于我的代码,并使用mocha进行单元测试。我安装了babel-registerbabel-preset-es2015babel-preset-stage-2,并将其添加到我项目的package.json文件中:

"babel": {
    "presets": ["es2015", "stage-2"]
}

但是当我运行mocha --compilers js:babel-register并尝试测试导入React Native API的模块时......

import React from 'react-native';

let {Dimensions} = React;

...我收到有关React使用的传播运算符的错误:

node_modules/react-native/Libraries/react-native/react-native.js:107
...require('React'),
^^^

SyntaxError: Unexpected token ...

这是一个babel bug - 阶段2预设不应该为扩展运算符添加支持吗?或者我错过了其他什么?

1 个答案:

答案 0 :(得分:2)

我刚刚开始看到这一点。好像是一个bug。 AFAIK babel不会在node_modules下编译文件,因为它们应该总是被预编译。

这也是最近添加的

https://github.com/facebook/react-native/commit/f9b744d50137de25357994fe2e829f98104e2242