代码中出现语法错误时如何停止React Native Hot Reloading

时间:2019-05-10 18:44:50

标签: react-native webstorm flowtype watchman metro-bundler

问题

使用默认的react-native init配置时,我遇到了一个问题,即所提供的Watchman / Babel / Metro工具链似乎正在跨桥向模拟器发送代码中包含可检测到的语法错误的代码,这又导致崩溃应用程式。

问题在于:

1)使用“热(模块)重新加载”时,这些崩溃使应用程序及其“热重新加载”中断,因此从其恢复的唯一方法是完全重新加载。

2)为了使流程突出显示工作;我的IDE(WebStorm)需要在输入代码时逐步保存文件,这意味着它经常部分保存语法上不正确的代码,并且在启用热重载时会通过桥发送该代码。

结果

我目前无法同时在WebStorm(可能是其他IDE的)中同时使用热重载和Flow进行应用程序开发:-(

帮助

有人知道停止捆绑和传输损坏代码的方法,以便可以同时使用Flow和Hot Reloading吗?

配置

相关package.json的详细信息如下:

"@babel/core": "^7.4.4"
"@babel/runtime": "^7.4.4"
"flow-bin": "^0.98.1"
"metro-react-native-babel-preset": "^0.54.0"

.watchmanconfig:

{}

babel.config.js

module.exports = {
  presets: ['module:metro-react-native-babel-preset'],
};

metro.config.js:

  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: false,
      },
    }),
  },
};

0 个答案:

没有答案