在这一步,我们将会把所有的应用相关的描述性的文件独立放到manifest.json
新建一个manifest.json文件
webapp/manifest.json (New)
{"_version": "1.58.0","sap.app": {"id": "ui5.walkthrough","i18n": "i18n/i18n.properties","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.ui.core": {},"sap.m": {}}},"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"}}
}
-
The
sap.app
namespace contains the following application-specific attributes:-
id
(mandatory): The namespace of our application component.The ID must not exceed 70 characters. It must be unique and must correspond to the component ID/namespace.
-
type
: Defines what we want to configure; here: an application. -
i18n
: Defines the path to the resource bundle file. ThesupportedLocales
andfallbackLocale
properties are set to empty strings, as our demo app uses only onei18n.properties
file for simplicity and we'd like to prevent the browser from trying to load additionali18n_*.properties
files based on your browser settings and your locale. -
title
: Title of the application in handlebars syntax referenced from the app's resource bundle. -
description
: Short description text what the application does in handlebars syntax referenced from the app's resource bundle. -
applicationVersion
: The version of the application to be able to update the application easily later on.
-
-
sap.ui
The
sap.ui namespace
contributes the following UI-specific attributes:-
technology
: This value specifies the UI technology; in our case we use SAPUI5 -
deviceTypes
: Tells what devices are supported by the app: desktop, tablet, phone (all true by default)
-
-
sap.ui5
The
sap.ui5
namespace adds SAPUI5-specific configuration parameters that are automatically processed by SAPUI5. The most important parameters are:-
rootView
: If you specify this parameter, the component will automatically instantiate the view and use it as the root for this component -
dependencies
: Here we declare the UI libraries used in the application -
models
: In this section of the descriptor we can define models that will be automatically instantiated by SAPUI5 when the app starts. Here we can now define the local resource bundle. We define the name of the model "i18n" as key and specify the bundle file by namespace. As in the previous steps, the file with our translated texts is stored in thei18n
folder and namedi18n.properties
. We simply prefix the path to the file with the namespace of our app. The manual instantiation in the app component's init method will be removed later in this step. ThesupportedLocales
andfallbackLocale
properties are set to empty strings, as in this tutorial our demo app uses only onei18n.properties
file for simplicity, and we'd like to prevent the browser from trying to load additionali18n_*.properties
files based on your browser settings and your locale.
1.58.0
under the internal property_version
. Features might be added or changed in future versions of the descriptor and the version number helps to identify the application settings by tools that read the descriptor. -
修改index.html
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>UI5 Walkthrough</title><scriptid="sap-ui-bootstrap"src="resources/sap-ui-core.js"data-sap-ui-theme="sap_horizon"data-sap-ui-compatVersion="edge"data-sap-ui-async="true"data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"data-sap-ui-resourceroots='{"ui5.walkthrough": "./"}'></script>
</head>
<body class="sapUiBody" id="content"><div data-sap-ui-component data-name="ui5.walkthrough" data-id="container" data-settings='{"id" : "walkthrough"}'></div>
</body>
</html>
修改i18n
webapp/i18n/i18n.properties
# App Descriptor
appTitle=Hello World
appDescription=A simple walkthrough app that explains the most important concepts of SAPUI5# Hello Panel
showHelloButtonText=Say Hello
helloMsg=Hello {0}
修改component
webapp/Component.js
sap.ui.define(["sap/ui/core/UIComponent","sap/ui/model/json/JSONModel"
], (UIComponent, JSONModel) => {"use strict";return UIComponent.extend("ui5.walkthrough.Component", {metadata : {interfaces: ["sap.ui.core.IAsyncContentCreation"],manifest: "json"},init() {// call the init function of the parentUIComponent.prototype.init.apply(this, arguments);// set data modelconst oData = {recipient : {name : "World"}};const oModel = new JSONModel(oData);this.setModel(oModel);}});
});
Conventions
-
The descriptor file is named
manifest.json
and located in thewebapp
folder. -
Use translatable strings for the title and the description of the app.