SAP UI5 应用中的 sap.ui.require.toUrl 使用场景

简介: SAP UI5 应用中的 sap.ui.require.toUrl 使用场景

下图是笔者 SAP UI5 开发教程中使用到的一段代码:


image.png


运行时 toUrl 方法打印的值:.


image.png


这个 toUrl 的返回值,在 index.html 里通过 data-sap-ui-resourceroots 指定:


image.png


toUrl 方法的计算,会考虑任何已配置的 ID 映射或资源路径。它还支持路径内的 ./ 和 ../ 等相对段,但不支持通过这些路径出现在输入参数的最开头。


如果相对导航会越过根命名空间(例如 sap.ui.require.toUrl("../"))或当资源名称以斜杠或相对段开头时,将引发错误。


注意:toUrl 不解析返回的 URL;是绝对 URL 还是相对 URL 取决于配置的 baseUrl 和路径。


和 SAP UI5 过去曾经是一国的 Module Name syntax 的关联关系

处理资源的旧 UI5 API(如 jQuery.sap.registerModulePath、jQuery.sap.require 和 jQuery.sap.declare)使用点分隔 . 的命名方案(称为 模块名称),其动机是全局对象名称 Javascript 中的命名空间。


新的 URN 方案更好地匹配存储在服务器中的相应资源(文件)的名称,并且点(.)不再是资源名称中的禁止字符。 这最终允许使用相同的 API 处理具有不同类型(扩展名)的资源,而不仅仅是 JS 文件。


最后需要注意的是,URN 方案更好地匹配 AMD 加载程序(如 requireJS)使用的命名约定。


sap.ui.define 使用其 ID、依赖项和模块导出值或工厂定义 JavaScript 模块。


此方法的典型且唯一建议的用法是在一个 JavaScript 资源(文件)中对 sap.ui.define 进行一次顶级调用。当一个模块第一次被其模块ID请求时,根据ID和当前配置确定对应的资源。资源将被加载并执行,然后将执行顶级 sap.ui.define 调用。


如果该调用中省略了模块 ID,它将被用于请求模块的 ID 替换。作为准备步骤,将加载依赖项及其传递依赖项。然后,模块值(其导出)将被确定:如果静态值(对象,文字)作为 vFactory 给出,则该值将是模块值。如果给定了一个函数,则该函数将被调用(将声明的依赖项的模块导出作为函数的参数提供)并且其返回值将用作模块导出值。框架在内部将结果值与模块 ID 相关联,并将其提供给模块的原始请求者。每当再次请求模块时,将返回相同的导出值(模块仅执行一次)。



相关文章
|
5月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
5月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
5月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
5月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
|
2月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
5月前
|
存储 安全 测试技术
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
|
2月前
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
数字化核心构建问题之SAP为应用软件扎根客户打基础如何解决
16 0
|
5月前
|
开发者 UED
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
SAP UI5 SmartFilterBar 中 ControlConfiguration Aggregation 的作用介绍
|
5月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
下一篇
无影云桌面