Fiori学习:(5)manifest.json---application的描述符号

1、这一步要做什么

所有特定于应用程序的配置设置现在将进一步放在一个名为manifest.json的单独描述符文件中。这清楚地将应用程序编码与配置设置分开,使我们的应用程序更加灵活。例如,所有SAP Fiori应用程序都是作为组件实现的,并附带一个描述符文件,以便托管在SAP Fiori启动台上。

2、为什么这么做

SAP Fiori启动平台充当应用程序容器,并实例化应用程序,而无需为引导提供本地HTML文件。相反,描述符文件将被解析,组件将被加载到当前HTML页面中。这允许在同一上下文中显示多个应用程序。每个应用程序都可以定义本地设置,比如语言属性、支持的设备等等。我们还可以使用描述符文件来加载额外的资源并实例化模型,比如我们的i18n资源包。

3、怎样做

在webapp下创建manifest.json文件

内容如下:

{
	"_version": "1.58.0","sap.app": {
		"id": "ui5.walkthrough","i18n": {
			"bundleUrl": "i18n/i18n.properties","supportedLocales": [
				""
			],"fallbackLocale": ""
		},"title": "{{appTitle}}","description": "{{appDescription}}","type": "application","applicationVersion": {
			"version": "1.0.0"
		}
	},"sap.ui": {
		"technology": "UI5","deviceTypes": {
			"desktop": true,"tablet": true,"phone": true
		}
	},"sap.ui5": {
		"dependencies": {
			"minUI5Version": "1.108.0","libs": {
				"sap.m": {},"sap.ui.core": {}
			}
		},"models": {
			"i18n": {
				"type": "sap.ui.model.resource.ResourceModel","settings": {
					"bundleName": "ui5.walkthrough.i18n.i18n","supportedLocales": [
						""
					],"fallbackLocale": ""
				}
			}
		},"rootView": {
			"viewName": "ui5.walkthrough.view.App","type": "XML","id": "app"
		}
	}
}

各个参数说明:

sap.app

sap.app包含以下特定于应用程序的属性

id(必选):应用组件的命名空间。

不超过70个字符。它必须是唯一的,并且必须对应于组件ID/命名空间。

type:定义我们想要配置的类型;这里是一个应用程序。

i18n:定义资源包文件的路径。supportedlocale和fallbackLocale属性被设置为空字符串,因为我们的演示应用程序只使用一个i18n。属性文件为简单起见,我们希望防止浏览器尝试加载额外的i18n_*。基于浏览器设置和区域设置的属性文件。

title:应用的标题,用handlebars语法从应用的资源包中引用。

description:从应用的资源包中引用的句柄语法中应用所做的简短描述文本。

applicationVersion:应用程序的版本,以便以后能够轻松地更新应用程序。

sap.ui

sap.ui 提供以下特定于ui的属性

technology:该值指定UI技术;在我们的例子中,我们使用SAPUI5

deviceTypes:告诉应用程序支持哪些设备:桌面,平板电脑,手机(默认都为true)

sap.ui5

添加SAPUI5特定的配置参数

rootView:如果指定此参数,组件将自动实例化该视图,并将其用作该组件的根

dependencies:这里我们声明应用程序中使用的UI库

models:在描述符的这一部分,我们可以定义在应用启动时由SAPUI5自动实例化的模型。现在我们可以定义本地资源包了。我们将模型的名称“i18n”定义为key,并通过命名空间指定bundle文件。与前面的步骤一样,包含翻译文本的文件存储在i18n文件夹中,命名为i18n.properties。我们只需要在文件的路径前加上应用的命名空间。应用组件的init方法中的手动实例化将在这一步的后面被删除。

supportedlocale和fallbackLocale属性被设置为空字符串,在本示例中,我们的演示应用程序只使用一个i18n。属性文件为简单起见,我们希望防止浏览器尝试加载额外的i18n_*。

※注:出于兼容性原因,根对象和每个节在内部属性_version下声明描述符版本号1.58.0。在描述符的未来版本中可能会添加或更改功能,版本号有助于通过读取描述符的工具识别应用程序设置。

相关文章

文章浏览阅读2.4k次。最近要优化cesium里的热力图效果,浏览...
文章浏览阅读1.2w次,点赞3次,收藏19次。在 Python中读取 j...
文章浏览阅读1.4k次。首字母缩略词 API 代表应用程序编程接口...
文章浏览阅读802次,点赞10次,收藏10次。解决一个JSON反序列...
文章浏览阅读882次。Unity Json和Xml的序列化和反序列化_uni...