关于开发环境中 AJAX 数据服务的 PhoneGap 环境变量?
PhoneGap environment variables with regards to AJAX data service in a development environment?
我们正在制作 PhoneGap 应用程序并尝试使用如下数据服务:
$.post(rooturl + '/data/something', { a: 1 }, (res) => {});
问题:当应用程序 运行 在 PhoneGap 上运行时,它是一个没有自定义服务器后端的单页应用程序。这意味着我无法发送某种环境指示器来更改根 url 并将其定向到本地 NodeJS 开发服务器数据服务,而不是生产服务器。
换句话说,我如何让客户端的 Javascript 检测它是否在开发环境中 运行 以正确设置适当的根 url(开发/生产)?
很遗憾,PhoneGap 没有解决这个问题。
根据您使用的工具,您的选择可能是:
- 在进程中检查环境变量以确定如何设置变量的 Cordova 挂钩。此处示例:http://www.kdmooreconsulting.com/blogs/build-a-cordova-hook-to-setup-environment-specific-constants/
- Ionic 环境配置包 https://github.com/geeklearningio/gl-ionic2-env-configuration or wait for Ionic to support this feature directly https://github.com/driftyco/ionic-cli/issues/1205
- 有一个构建工具(即 Gulp)负责为您替换变量,并且可能 运行 手动使用该工具或以某种方式让您的构建管道 运行 适当的命令环境。此处示例:http://geekindulgence.com/environment-variables-in-angularjs-and-ionic/
我们正在制作 PhoneGap 应用程序并尝试使用如下数据服务:
$.post(rooturl + '/data/something', { a: 1 }, (res) => {});
问题:当应用程序 运行 在 PhoneGap 上运行时,它是一个没有自定义服务器后端的单页应用程序。这意味着我无法发送某种环境指示器来更改根 url 并将其定向到本地 NodeJS 开发服务器数据服务,而不是生产服务器。
换句话说,我如何让客户端的 Javascript 检测它是否在开发环境中 运行 以正确设置适当的根 url(开发/生产)?
很遗憾,PhoneGap 没有解决这个问题。
根据您使用的工具,您的选择可能是:
- 在进程中检查环境变量以确定如何设置变量的 Cordova 挂钩。此处示例:http://www.kdmooreconsulting.com/blogs/build-a-cordova-hook-to-setup-environment-specific-constants/
- Ionic 环境配置包 https://github.com/geeklearningio/gl-ionic2-env-configuration or wait for Ionic to support this feature directly https://github.com/driftyco/ionic-cli/issues/1205
- 有一个构建工具(即 Gulp)负责为您替换变量,并且可能 运行 手动使用该工具或以某种方式让您的构建管道 运行 适当的命令环境。此处示例:http://geekindulgence.com/environment-variables-in-angularjs-and-ionic/