在OpenUI5中指定备用manifest.json位置

时间:2016-04-22 16:11:24

标签: cordova config sapui5

有没有办法在OpenUI5 / SAPUI5中指定manifest.json文件的位置?

我在Cordova中部署应用程序,并希望通过从其他位置读取manifest.json文件来更新应用程序配置。我们的manifest.json指定了环境URL。如果我们需要更改环境,则复制文件比重新打包和重新部署更简单。

我是以错误的方式来做这件事的吗?有关更改环境参数而无需重新部署的更好方法的任何建议?应用程序可在iOS和Android上运行。

2 个答案:

答案 0 :(得分:1)

查看ComponentMetadata的来源,您似乎可以将清单设置为从默认位置加载

metadata: {
   manifest: "json"
}

或提供实际的清单作为javascript对象。

metadata: {
   manifest: {
    "sap.app": {
      "type": "component",
      "i18n": "resources/i18n/texts.properties",
      "title": "Bla",
      "description": "Blabla",
      "applicationVersion": {
        "version": "1.0.0"
      },
      "dataSources": {
      }
   }
}

您可以使用它从非默认位置加载清单并分配反序列化的json。

答案 1 :(得分:0)

感谢@schnoedel给我这个想法。我最终做的是加载一个json配置文件并附加到全局模型。我可以使用cdvfile:// url。

访问本机文件系统上的配置文件
if(Device.os.ios) {
  oModel.loadData('cdvfile://localhost/library/Preferences/config.json','',true,'GET',true);
} else {
  oModel.loadData('cdvfile://localhost/documents/config.json','',true,'GET',true);
}

this.setModel(tModel);

此代码位于Component.js init函数中。似乎在此处设置模型使其在整个应用程序中都是全局的。