0

我是一个新的 NativeScript 用户,我正在尝试了解如何让我的应用程序根据环境对远程服务器进行 GET 调用。在 Java 世界中,我们传递了一个环境变量,但我还没有找到一个示例(我理解)来演示我的 NativeScript 移动应用程序如何知道它在哪个环境中运行,以及如何基于该环境获取值。

我假设我将拥有一个带有 prod.conf.js 和 dev.conf.js 等文件的 config/ - 我将在其中放置我的 url 和其他配置值。

我如何让我的 NativeScript(我最终将构建到 iOS)在启动时达到这些值以在 http 请求中使用。任何指导文档的示例将不胜感激。

:我终于通过使用nativescript-dev-appconfig 的Manoj 建议解决了这个问题。对于任何寻求帮助的新手,试试这个:

  • {PROJECT_ROOT}/config - 将环境文件创建为{env}.json。这些文件只是 json,带有您想要的值的名称-值对。在可能的情况下在此处输入图像描述

当您进行构建时:tns build ios --bundle --env.config {dev | test | prod } 这将获取所选 env.config 文件的内容(即 -env.config dev 并将其复制为 - {PROJECT_ROOT}/app/config.json 。

要在您的代码中使用它,

import config from "../config.json";
axios.get(config.MY_URL).then(result => {...}
4

1 回答 1

1

不幸的是,官方不支持使用基于环境的配置文件,但是您可以尝试一个插件挂钩。

我们还提供基于 webpack 的环境变量支持,请在docs中了解更多信息。

于 2018-11-03T18:43:11.973 回答