摩卡,排毒和本机反应的正确babel配置

时间:2019-01-21 22:15:38

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

我正在使用detoxjetmochareact-native

由于我们所有的本机代码都使用import,因此我试图使我的Mocha测试了解es6 import语句。

我已经能够做到这一点,但是测试的开始时间从10s增加到2+分钟(这使我认为我们正在转换整个node_modules文件夹)。

我们正在使用以下配置启动Mocha:

--recursive
--timeout 120000
--reporter spec
--slow 1000
--retries 3
--exit
--require ./e2e/config.js
--require jet/platform/node
--require ./e2e/helpers

config.js文件具有以下代码:

require('@babel/register')({
  cache: true,
  presets: [require('metro-react-native-babel-preset')],
  plugins: [require('@babel/plugin-transform-runtime').default],
  only: ['./e2e', './js'],
  ignore: ['node_modules']
});

我不确定为什么需要plugin-transform-runtime,但是没有它,我会得到那些:

ReferenceError: regeneratorRuntime is not defined
   at Context._callee2 (e2e/init.js:11:7)

init.js 11:7是async()=> {}->,所以它无法转换。但为什么。 React-Native具有metro-react-native-babel-preset,我认为这足以编译我们的代码-最后,当直接运行react-native时就足够了。

我该如何找出需要那么多时间的东西?我看到在node_modules/.cache/@babel/register中生成的babel缓存大约为700kb。有关在@babel寄存器中查找位置的任何提示?

0 个答案:

没有答案