Cordova + 在开发模式下进行热重载反应

sbq*_*bqq 4 cordova reactjs webpack

我发现这个问题Cordova 与 Create-react-app

当我处于开发模式且应用程序在 Android 模拟器中运行时,我是否能够实现实时重新加载?我担心每次我想看到变化时都必须构建应用程序。

cordova是否能够观看在开发模式下运行的react-app并通过index.js监听更改来读取源代码?

假设我想实现这样的目标:

  1. 创建科尔多瓦项目。
  2. 在 /www 文件夹(或任何其他适合我的用例的文件夹...)中创建 React 项目。
  3. 从 root运行cordova run android以在 Android Simulator 中和 /www 目录中运行应用程序npm start
  4. cordova 应该能够监听 Android 模拟器中的更改并实时重新加载 React 应用程序。
  5. 我需要能够访问 React 代码中的 cordova 实例才能使用插件等。

我找到了一些 webpack-server-dev (使用 webpack v1...)相关的解决方案,但它们似乎都不起作用,我需要重新启动cordova run android命令才能查看代码中的更改。否则,这些模板不提供在开发模式下访问 cordova 插件实例的功能

那么真的是开发cordova + React应用程序的唯一方法吗npm buildcordova run android

注 1:我想使用 SQLite cordova plguin,因此在仅浏览器模式下进行开发,然后在完成后为 android/ios 构建应用程序,我认为这不是我的情况。请问您有什么建议吗?

注意 2:我无法使用react-native,因为我需要使用openlayers 地图库。

非常感谢您的回答!

Sal*_*lim 5

  1. 运行 webpack-dev-server 以--host 0.0.0.0使其可以从外部访问
  2. 更改您的 config.xml 并指向<content src="..." />您的本地 IP 地址和开发端口,例如<content src="http://192.168.0.2:3000/" />
  3. 添加白名单条目(有关更多详细信息,请参阅科尔多瓦白名单插件文档):例如<allow-navigation href="http://192.168.0.2:3000/*" />
  4. 如果您需要通过 的本机功能cordova,则需要使所有 cordova 和 cordova-plugin javascript 文件在您的开发服务器中可用。请也检查这个答案(符号链接部分):https ://stackoverflow.com/a/46545408/1930339