首页 > 解决方案 > 进行构建时在 ionic 中动态设置变量

问题描述

我确定有办法做到这一点,但我无法弄清楚。

我希望能够构建或运行我的 ionic 应用程序并让它指向适当的 api。

如果我在我的本地主机上运行它,或者如果我希望它指向一个阶段/api,或者如果我希望它指向一个 prod/api。

我必须想象有一种方法可以在您进行构建时设置一些变量。

例如'ionic cordova build ios --var_name=value'

这个事情谁有经验?

标签: ionic-frameworkionic3

解决方案


我知道android中的一种方法。您必须在platforms/android/app/build.gradle 中寻找build.gradle

并添加以下代码:

android {
 
    flavorDimensions "default"
    productFlavors {
         espatolero {
            manifestPlaceholders = [ appName: "E y L inmobiliaria", launcherName: "Espatolero y Lorenzo", appIcon:"@drawable/icon"]
        
            resValue "string", "images_url", "/espatolero/"
            resValue "string", "primary_color", "#C51112"
            resValue "string", "secondary_color", "#c41011"
            resValue "string", "third_color", "#999"
            resValue "string", "header_home", "true"
            resValue "string", "header_title", "Espatolero & Lorenzo"
            resValue "string", "web_page", "http://www.espatolerolorenzo.com.ar/"
            resValue "string", "has_temporario", "false"
        } 


applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFileName = new File(output.outputFileName, "clientapp-${variant.name}.apk")
        }
    }

然后使用此插件,您可以获得变量:

cordova.getAppResources.getResources('images_url').then((images_url) => {

也许是 iOS 的方式,因为我记得在插件的 github 上看到了一个 iOS 文件夹。


推荐阅读