如何在不运行Metro服务器的情况下在Mac浏览器中编译,运行和调试ReactNative应用程序?

时间:2020-08-13 07:06:50

标签: react-native metro-bundler

我有一台MacBook Air,尽管它可以完美地编译并在Android设备上运行ReactNative项目,但我注意到,如果运行Metro服务器,则MBA很快就会变得如此热。如果很热,当我尝试键入任何内容时,甚至IDE(Visual Studio Code)也会滞后2-5秒。

我是否可以在Mac的浏览器中编译,运行ReactNative项目并进行调试,而无需在Mac上运行Metro服务器? (例如,实际上像我们发布正式版APK时一样,将服务器捆绑到应用中-但仍然使我能够在浏览器上获得控制台输出?)

编辑:当前,我已经添加了bundleInDebug: true,保存,然后重试npx react-native run-android,但是它仍然执行“正在启动JS服务器...”的操作。关闭服务器终端窗口会使应用程序崩溃,因此我猜该应用程序仍取决于计算机上的Metro服务器。就像bundleInDebug选项被忽略一样。

1 个答案:

答案 0 :(得分:0)

是的,可以。只需编辑android/app/build/gradle。搜索这些行

project.ext.react = [
    enableHermes: false,  // clean and rebuild if changing
]

并在bundleInDebug: true行之后添加enableHermes

如果您具有自定义构建变体,则配置属性可以采用以下格式:

  • bundleIn${productFlavor}${buildType}
  • bundleIn${buildType}

例如bundleInFreeDebug: truebundleInPaidRelease: truebundleInBeta: true

编辑: JS调试器仅适用于Metro服务器