SAPUI5基础知识2 - 手动创建一个SAPUI5的项目

news2024/11/25 4:07:41

1. 前言

在本篇文章中,我们将手动一步一步建立出第一个SAPUI5的 ‘Hello World!’ 项目。

2. 步骤详解

2.1 在BAS中建立Dev Space

进入SAP Business Application Studio的Dev Space Manger,选择创建Dev Space。
在这里插入图片描述

勾选HTML5 Application Template插件,然后选择Create Dev Space。
在这里插入图片描述

2.2 建立项目文件夹

在Get Started页面,点击New Project, 给定项目名称。
在这里插入图片描述

2.3 建立package.json文件

创建node.js项目的“说明书”文件package.json,它定义了项目的基本信息,列出了项目的依赖,定义了项目的脚本命令,以及包含了一些项目的配置信息。

以下是 package.json 文件中的一些常见属性:

  • name:包的名称,必须是唯一的,不能和 npm 仓库中的其他包名称相同。
  • version:包的版本号,必须符合 semver 规范。
  • description:包的简短描述。
  • main:包的入口点,也就是包被引用时默认调用的模块。
  • scripts:定义了一组可以用 npm run 命令执行的脚本命令。
  • dependencies:项目运行所依赖的模块。
  • devDependencies:项目开发所需要的模块,比如测试框架等。
  • peerDependencies:表示当前包兼容的宿主版本。它要求宿主环境必须单独安装依赖。
  • optionalDependencies:如果有一些依赖项在某些环境下无法安装,或者安装失败,你可以把它放在这个属性下面,npm 会尝试安装这些依赖项,但是即使安装失败,也不会导致安装整个程序失败。
  • private:如果设置为 true,则阻止包被发布到 npm 仓库。
  • license:项目的许可证类型。
  • repository:项目代码存放的地方,通常是 git 仓库的地址。

可以在 npm 官方文档(https://docs.npmjs.com/cli/v7/configuring-npm/package-json) 中查看 package.json 文件中所有可能的属性以及其解释。

在此练习中,我们先提供最基础的属性信息。

{
    "name": "zsapui5.test",
    "version": "1.0.0",
    "description": "My SAPUI5 Test Application",
    "scripts": {
        "start": "ui5 serve -o index.html"
    }
}

在这里插入图片描述

2.4 初始化项目内容文件webapp

建立一个webapp文件夹,用于包含所有的应用程序资源。在webapp文件夹内,创建一个index.html的文件。

index.html:它是启动和加载SAPUI5/Fiori应用程序的关键,它定义了应用程序的基本结构和样式,并包含了加载和启动应用程序所需的代码。

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>My SAPUI5 Test</title>
</head>
<body>
    <div>Hello World!</div>
</body>
</html>

2.5 创建应用程序描述文件manifest.json

manifest.json 是一个配置文件,主要用于描述一个Web应用或者网站的基本信息。它是一个JSON格式的文件,通常位于项目的根目录。这个文件主要用于PWA(Progressive Web App)技术,使得Web应用可以像原生应用一样在用户的设备上安装和运行。

以下是 manifest.json 文件中的一些常见属性:

  • name:应用的名称。
  • short_name:应用的简短名称,主要用于没有足够空间显示完整名称的地方。
  • description:应用的描述信息。
  • start_url:应用启动时打开的URL。
  • display:定义应用运行时的显示模式,如 fullscreen、standalone、minimal-ui 或 browser。
  • background_color:应用启动屏幕的背景颜色。
  • theme_color:应用的主题颜色,影响浏览器地址栏的颜色。
  • icons:应用的图标,可以指定多种尺寸和类型。
  • scope:定义应用的作用域,即应用可以访问的URL范围。
  • orientation:定义应用的默认屏幕方向,如 portrait 或 landscape。

可以在 MDN Web 文档(https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json) 查看 manifest.json 文件中所有可能的属性以及其解释。

在SAPUI5框架下,manifest.json文件用于定义应用程序的配置和设置,以下是manifest.json文件中SAPUI5相关的属性:

  • sap.app:这是一个对象,包含了应用程序的基本信息,如ID、类型、i18n文件的位置、应用程序版本等。
  • sap.ui:这个对象定义了应用程序的UI设置,如技术(例如HTML5)、主题、图标等。
  • sap.ui5:这个对象包含了SAPUI5应用程序的特定设置,如依赖项、模型、路由等。
  • sap.fiori:这个对象包含了Fiori应用程序的特定设置,如注册Fiori启动瓦片。
  • sap.platform:这个对象包含了应用程序的平台特定设置,如SAP Cloud Platform的目标设置。
  • sap.cloud:这个对象包含了SAP Cloud Platform的特定设置,如目标映射。

可以在SAPUI5官方文档(https://sapui5.hana.ondemand.com/#/topic/be0cf40f61184b358b5faedaec98b2da)中查看更多详细信息。

在此练习中,我们先提供最基础的配置属性信息。
在这里插入图片描述

{
    "_version": "1.58.0",
    "sap.app": {
        "id": "my.sapui5.test"
    }
}

2.6 运行应用程序

2.6.1 安装UI5 Tooling

在BAS中打开terminal,同时执行npm i -D @ui5/cli 来安装UI5 Tooling。
在这里插入图片描述

可以看到,执行完成后,项目文件夹下新生成了node_modules文件夹和package-lock.json文件。

node_modules是Node.js项目的一个重要组成部分,这个目录包含了项目所需的所有Node.js模块和库。当你在项目中运行npm install命令时,所有在package.json文件中列出的依赖都会被安装到node_modules目录中。

package-lock.json文件锁定了项目依赖的确切版本,这意味着每次你或其他开发者在同一项目上运行npm install时,将会安装完全相同版本的依赖,从而确保了项目的一致性。

2.6.2 初始化UI5项目

执行ui5 init命令来通过生成ui5.yaml文件来初始化SAPUI5项目。

在这里插入图片描述

在SAP Business Application Studio (BAS)中,Fiori项目的ui5.yaml,ui5-mock.yaml,ui5-local.yaml,ui5-ci.yaml等文件是UI5工具套件(UI5 Tooling)的配置文件,用于定义和配置项目的构建,运行和测试设置。

ui5.yaml:这是UI5工具套件的主要配置文件,定义了项目的基本设置,如项目类型,依赖,构建任务等。

2.6.3 运行应用

执行npm start来启动web服务器来打开一个新的浏览器窗口运行我们刚刚创建的index.html文件。
在这里插入图片描述
在新打开的窗口中,可以看到我们的hello world!应用。
在这里插入图片描述

2.6.4 停止应用

在BAS 的terminal中,通过 ctrl + c 可以关停web server。
在这里插入图片描述
关停服务器后,在应用程序界面通过F5刷新页面的话,将会得到下面的错误消息。
在这里插入图片描述
如果需要再次启动应用程序,则在terminal中再次执行npm start即可。

3. 小结

本文通过一个hello world应用程序,展示了如何手动创建出一个SAPUI5的项目,并如何运行SAPUI5应用程序。
希望本文对你有帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1685788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++进阶之路:何为运算符重载、赋值运算符重载与前后置++重载(类与对象_中篇)

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

由于删除、修改、重装QT库引起的软件问题@FreeBSD

由于由于删除、修改、重装QT库以及snappy库等&#xff0c;导致很多软件出现了异常&#xff0c;即无法启动&#xff0c;逐个解决问题。 qutebrowser浏览器 报错&#xff1a; qutebrowser报错 No backend library found qutebrowser needs QtWebKit or QtWebEngine, but neith…

Ollama本地运行 Mistral-7B-Instruct-v0.3

Ollama本地运行 Mistral-7B-Instruct-v0.3 0. 引言1. 运行 mistral:7b-instruct-v0.3-q8_02. 简单问个问题 0. 引言 Mixtral 5月23日发布了 Mistral-7B-Instruct-v0.3&#xff0c;支持 function calling&#xff0c;今天简单运行一下。 1. 运行 mistral:7b-instruct-v0.3-q8_…

人类听觉处理和语言中枢

人类听觉概述 人类听觉是指通过耳朵接收声音并将其转化为神经信号&#xff0c;从而使我们能够感知和理解声音信息的能力。听觉是人类五种感觉之一&#xff0c;对我们的日常生活和交流至关重要。 听觉是人类交流和沟通的重要工具。通过听觉&#xff0c;我们能够听到他人的语言…

蓝牙(2):BR/EDR的连接过程;查询(发现)=》寻呼(连接)=》安全建立=》认证=》pair成功;类比WiFi连接过程。

4.2.1 BR/EDR 流程&#xff1a; 查询&#xff08;发现&#xff09;》寻呼&#xff08;连接&#xff09;》安全建立》认证》pair成功 4.2.1.1 查询&#xff08;发现&#xff09;流程Inquiry (discovering) 类比WiFi的probe request/response 蓝牙设备使用查询流程来发现附近的…

Python下载安装图文教程,Pycharm下载安装图文教程

Python及Pycharm安装图文教程&#xff0c;供大家参考&#xff0c;具体内容如下 为了学习Python我今天对它进行了安装&#xff0c;并将Python及Pycharm安装方法进行了分享&#xff0c;希望可以帮助到大家 注&#xff1a;建议大家在安装过程中不要将软件安装到系统盘中。 1、P…

汽车展厅应用客流统计,洞察客户规律,完成热门车型分析

在汽车展厅中&#xff0c;客流统计正逐渐成为一项不可或缺的重要工具&#xff0c;它帮助我们洞察客户规律&#xff0c;从而能够更好地完成热门车型分析。 一、客流统计-客户画像分析 客流统计下的客户画像构建为我们提供了深入了解客户的途径。通过对进入展厅的人群进行细致分析…

列表页9大样式,保准你看了就能掌握。

上文&#xff1a;一张图集齐B端列表页的16大组件&#xff0c;召唤神龙&#xff0c;看后恍然大悟。 普通列表/基础列表/常规列表 不适合移动端展示 复杂列表 加入了统计 适合移动端 项目列表 适合移动端 应用列表 适合移动端 多级列表 复杂的多级结构&#xff0c;下图展示了…

SpringBoot项目热部署-解决html修改后需要重启项目的问题

前言&#xff1a;启动热部署之后修改html无需再次重启项目&#xff0c;每次都要重新重启项目 2022IDEA以下版本 1、打开file->Settings->Compiler,勾选Build project automatically 2、按住ctrlshiftalt/ 选Registry进去吧app.running的勾打上、 2022IDEA及以上

弘君资本股市技巧:限售股解禁对市场有何影响?

限售股解禁意味着本来不能在商场上自由生意的股票能够进入二级商场流通了&#xff0c;限售股解禁往往会引起投资者们的高度关注。关于限售股解禁对商场有何影响&#xff0c;弘君资本下面就为大家具体介绍一下。 限售股解禁的影响&#xff1a; 1、股价跌落压力增大。当限售股解…

【三剑客和正则表达式】

文章目录 学习目标一、什么是三剑客1.三剑客grep2.三剑客sed3.三剑客awk4.正则过滤例子15.正则过滤例子2 总结 学习目标 1.学会使用 grep 2.学会使用 sed 3.学会使用 awk 4.学会使用正则表达式一、什么是三剑客 正则三剑客&#xff1a;grep sed awk 1.三剑客grep # 擅长过滤…

到底什么是数字?

来源&#xff1a;Bulletins from the Wolfram Physics Project 一、说明 数字这个概念是最普遍而又最难把控的概念。对数字概念的深度解读&#xff0c;决定人类社会方方面面的整体水平。而且&#xff0c;随着宇宙知识的认识&#xff0c;数字概念也似乎在膨胀中。 外星人乘坐星际…

快速搭建 WordPress 外贸电商网站指南

本指南全面解析了在 Hostinger 平台上部署 WordPress 外贸电商网站的详细步骤&#xff0c;涵盖托管方案选择、WordPress 一键安装、主题挑选与演示数据导入、主题个性化定制、SEO插件插件 AIOSEO 安装、通过 GTranslate 实现多语言自动翻译、地区访问控制插件&#xff0c;助力用…

在 Ubuntu Server 22.04 上安装和配置 Kubectl

在 Ubuntu Server 22.04 上安装和配置 Kubectl 如何在 Ubuntu Server 22.04 上安装和配置 Kubectl&#xff0c;以便管理 Kubernetes 集群。 前提条件 在开始之前&#xff0c;请确保您已满足以下要求&#xff1a; 已安装 Ubuntu Server 22.04已安装 Kubernetes 集群拥有集群…

Linux应用入门(二)

1. 输入系统应用编程 1.1 输入系统介绍 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等。用户经过这些输入设备与Linux系统进行数据交换。这些设备种类繁多&#xff0c;如何去统一它们的接口&#xff0c;Linux为了统一管理这些输入设备实现了一套能兼容所有输入设备的…

基于若依的旅游推荐管理系统(spring boot+vue+mybatis+Ajax)

目录 一、项目目的 二、项目需求 1、功能模块分析 2、数据库表er图 三、部分界面展示 1、景点信息 2、旅游路线 3、地方美食管理 四、新颖点 1、旅游路线、景点和美食的联系 2、联系实现 3、地级选择器&#xff08;省市二级&#xff09; 五、总结 一、项目目的 随着…

如何轻松访问 Android 手机和平板电脑上的内部存储

概括 在数字设备领域&#xff0c;我们的智能手机充当虚拟金库&#xff0c;在其范围内存储个人数据、珍贵记忆和重要信息的宝库。因此&#xff0c;我们将指导您如何访问 Android 上的内部存储&#xff0c;确保您可以安全、轻松地检查内部文件系统并管理文件。同时&#xff0c;您…

基于物联网表计的综合能源管理方案

安科瑞电气股份有限公司 祁洁 acrelqj 摘要&#xff1a;为加快推进国家“双碳”战略和新型能源体系建设&#xff0c;努力实现负荷精准控制和用户精细化管理&#xff0c;按照“政府主导、电网组织、政企协同、用户实施”的指导原则&#xff0c;多地成立市/县级电力负荷管理中…

南加州大学字节提出MagicPose,提供逼真的人类视频生成,实现生动的运动和面部表情传输,以及不需要任何微调的一致的野外零镜头生成。

MagicPose可以精确地生成外观一致的结果&#xff0c;而原始的文本到图像模型(如Stable Diffusion和ControlNet)很难准确地保持主体身份信息。 此外&#xff0c;MagicPose模块可以被视为原始文本到图像模型的扩展/插件&#xff0c;而无需修改其预训练的权重。 相关链接 论文链…

[图解]产品经理创新模式02改善信息流转

1 00:00:02,160 --> 00:00:04,000 第二种改进模式 2 00:00:04,010 --> 00:00:06,340 就是改善信息流转 3 00:00:06,550 --> 00:00:08,000 它是这样的 4 00:00:09,250 --> 00:00:11,290 当电脑系统越来越多的时候 5 00:00:11,300 --> 00:00:12,530 就会出现这…