React Native中的Spread运算符会导致mocha出现"Unexpected token"错误

Rob*_*sen 9 javascript mocha.js ecmascript-6 babeljs react-native

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

"babel": {
    "presets": ["es2015", "stage-2"]
}
Run Code Online (Sandbox Code Playgroud)

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

import React from 'react-native';

let {Dimensions} = React;
Run Code Online (Sandbox Code Playgroud)

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

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

SyntaxError: Unexpected token ...
Run Code Online (Sandbox Code Playgroud)

这是一个babel bug - 阶段2预设不应该为扩展运营商添加支持吗?还是我错过了别的什么?

Epe*_*eli 2

我也刚开始看到这个。看起来像一个错误。AFAIK babel 不会编译 node_modules 下的文件,因为它们应该始终被预编译。

这也是最近添加的

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