这节主要是介绍应用的描述文件Manifest.json
可以把应用的一些配置信息都放到这个manifest.json里面,UI5提供了API来检索相应的配置信息,同时,当需要把这个app放到Fiori Launchpad的时候,一些相应的配置信息也会被Fiori Launchpad读到。
manifest.json文件是一个使用JSON格式来保存应用所需要的全局设置和参数。包括三个由namespaces定义的重要的部分:
- sap.app(应用级别的设置)
·id(必须): 应用组件的namespace,不能超过70个字符,唯一
·type:定义我们要配置的类型,这里是:application
·i18n:定义Resource bundle 文件的路径
·title:应用标题
·description:描述
·applicationVersion:应用的版本,方便日后升级 - sap.ui(UI级别的设置)
·technology:SAPUI5
·deviceTypes:应用支持的设备:desktop,tablet,phone,默认是全部支持
·supportedThemes:一个包含了所支持的主题的数组,比如sap_belize - sap.ui5
·rootView:如果设置了这个,组件会自动实例化这个view并且把它做为rootView。
·dependencies:应用所用到的库
·models:这里可以设置所有app启动时就进行实例化的models,比如可以定义local resource bundle,i18n,并且指定路径,这样就不需要在component.js的init中手工加载了
{
"_version": "1.2.0",
"sap.app": {
"id": "Step10_Manifest",
"type": "application",
"i18n": "i18n/i18n.properties",
"title": "{{appTitle}}",
"description": "{{appDescription}}",
"applicationVersion": {
"version": "1.0.0"
},
"_version": "1.3.0",
"ach": "AAA"
},
"sap.ui": {
"technology": "UI5",
"deviceTypes": {
"desktop": true,
"tablet": true,
"phone": true
},
"_version": "1.3.0",
"supportedThemes": []
},
"sap.ui5": {
"rootView": {
"viewName": "Step10_Manifest.view.App",
"type": "XML",
"async": true,
"id": "app"
},
"dependencies": {
"minUI5Version": "1.60",
"libs": {
"sap.m": {}
}
},
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "Step10_Manifest.i18n.i18n"
}
}
},
"_version": "1.2.0",
"contentDensities": {
"compact": true,
"cozy": true
}
}
}
有几个参数确实搞不懂,比如application Version
遇到问题再查吧
在descriptor中也可以使用翻译。
Manifest Descriptor Editor中几个tab用来便于我们维护对象:
- Setting: 配置信息
- Data Sources: 定义Odata和Annotation
- Model: 定义全局Model,Client端的Model在这里定义会很直观方便
- Routing: 界面间的跳转需要先定义跳转的rout,可以在这里直观的定义
- Navigation: 也是用在页面间和应用间的跳转
通过Descriptor创建resource model之后就不需要在component.js中的声明了,可以直接全局使用