SAP UI5 架设在 http-proxy 库上的单步调试
源代码: const express = require('express'), httpProxy = require('http-proxy'), fs = require('fs'), proxy = new httpProxy.createProxyServer(); const appRoute = { target: &#
关于 SAP UI5 应用 ui5.yaml 里的 paths 映射问题
url 里多了一个 webapp: 此刻都是正确的: 可能因为这个 webapp 文件夹的原因: 这个 upload 属性可能不能硬编码成其他的,否则上传到服务器之后,又要重新修改: 这个 upload 会根据 index.html 所在的路径,自动补全之前的代码。 根据项目类型,UI5 Tooling 要求 SAP UI5 的项目源文件位于特定目录中。 如果项目的源代码位
SAP UI5 FileUploader 的本地文件上传技术实现分享
当我们使用 SAP UI5 的 FileUploader 控件,上传本地文件时,其执行逻辑的入口,就是 FileUploader.prototype.upload: 首先判断该控件是否已经被 disable: if (!this.getEnabled()) { return; } SAP UI5 FileUploader 底层可以基于 fo
SAP UI5 FileUploader 使用的隐藏 iframe 和 form 元素的设计明细
我们研究 SAP UI5 FileUploader 控件渲染时生成的 HTML 源代码:真正提供给用户选择文件上传的控件,是下图高亮的这个类型属性 type 为 file 的 input 控件。 这个 file input 位于下图高亮的 form 控件,该控件的 action 指向文件服务器 url:http://localhost:3003/upload, 即接收文件上传的服务器。 ta
一个端到端的基于 form 表单的文件上传程序,包含客户端和服务器端
客户端实际上就是一个简单的 html 网页,源代码如下: <html> <form id="fu_form" enctype="multipart/form-data" method="post" action="http://localhost:3003/upload" style="
通过 FileUploader 的初始化,了解 SAP UI5 应用的 StaticArea 初始化逻辑
SAP UI5 FileUploader 实现的依赖: sap.ui.define([ 'sap/ui/core/Control', './library', 'sap/ui/core/LabelEnablement', 'sap/ui/core/InvisibleText',
SAP UI5 本地开发如何通过 http-proxy 解决跨域问题
前不久,SAP 发布了新 UI5 工具的官方生产版本。 这当然是 UI5con 上的一个大话题,有几个关于它的会议。对于使用 Visual Studio Code 进行 SAP UI5 本地开发的从业者来说,这个版本里一个非常有用的功能,就是对于 CORS 问题提供的解决方案:代理服务器。 关于 SAP UI5 CORS 问题目前有两种解决方案: 代理服务器将您的应用程序的请求转发到 U
SAP ABAP Netweaver 容器化的一些前沿性研究工作分享
笔者之前的文章一个15年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害, 回顾了ABAP Netweaver服务器主要的组件。本文咱们就来聊聊ABAP Netweaver容器化这个话题。 笔者假定阅读本文的朋友,都听说过虚拟机和容器的概念, 并且对虚拟机和容器的区别有所了解。 容器与虚拟机的出发点很类似:对应用程序及其依赖进行隔离,生成一套能够随处运行的自容纳单元;二者都能
使用 SAP UI5 FileUploader 控件上传本地文件
一套适合 SAP UI5 初学者循序渐进的学习教程作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer,
如何使用 multiparty 工具库在 Node.js 应用里解析 multipart form-data 格式的请求
我们使用 form 和 input 控件上传文件到服务器,服务器采取 Node.js 应用接收客户端上传的文件。可以使用 multiparty 这个库文件,解析从客户端提交的本地文件。完整的源代码如下图所示: var multiparty = require('multiparty'); var http = require('http'); var util
关于 SAP Fiori 应用的离线使用
SAP 标准发布的某些 Fiori 应用,能够离线使用,前提是这些 Fiori 应用事先通过预打包(比如 Cordova)技术,制作成为托管在 iOS 或 Android 的本机容器中的一种混合应用程序(Hybrid Application). SAP Fiori 应用程序通常以在线模式使用,其中客户端请求通过网络发送到业务数据所在的后端。 支持离线的应用程序访问包含业务数据的本地离线商店,这
Angular Ngrx Store 应用程序状态的一些典型例子
Angular 应用程序需要管理一些应用程序状态,包括服务器端数据、用户信息、用户输入、UI 状态和许多其他变量。 开发人员经常利用可注入服务(Injectable Service)在一个集中的地方提供此功能(包括与一些后端 Web API 的通信),以便应用程序中的其余组件可以访问此共享数据以对其进行处理或更新。、 这种做法仅仅适用于小型应用程序。 在某些情况下,随着应用程序规模的增长以及多个
Angular Ngrx Store 里 State 和 Reducer 的绑定关系是如何实现的
NgRX Store 将状态建模为 Store 内的单个简单 JavaScript 对象。 状态是不可变的或只读的。 这意味着没有直接的 Store API 来更改 Store 内的状态对象。 这种状态对象的一个例子可以表示为: const state = { developer: [] }; Store 里存储着很多应用状态的切片,称之为 State. Actions为了更
关于 Windows10 里的 Driver Verifier
Driver Verifier 是 Windows 10 内置的诊断工具,旨在验证本机 Microsoft 驱动程序和第三方驱动程序。Driver Verifier 的验证过程涉及对驱动程序施加很大压力,目的是使不良、过时、不兼容或行为不端的驱动程序失败。对于这种检测失败的驱动程序,所需的结果是 BSOD(蓝屏死机),它将生成故障转储以进行调试。 Driver Verifier 监视 Windo
Angular Ngrx 里 Store 和 State 的关系
NgRx 是一组用于响应式扩展和状态管理的 Angular 库。 通过简化应用程序在对象中的状态并强制执行单向数据流,它使 Angular 开发中的状态管理更容易。 一个完整的状态管理系统应该使开发人员能够对状态进行建模——例如,创建状态应该是什么样子的简单表示,更新其值,在值更改时监视状态,并检索状态的值。 不少 Ngrx 的初学者,经常容易把 Store 和 State 这对概念相混淆。
Angular Ngrx store 里的 Selector 介绍
选择器是纯函数,它将状态切片(State slice)作为输入参数,并返回组件可以使用的状态数据切片(这些切片包含真正的业务数据)。 正如数据库有自己的 SQL 查询语言一样,Ngrx/store 模块也有自己的查询工具,即选择器。 在 Angular 应用程序中,每个功能模块负责将自己的状态注入到根应用程序状态(root application state)中。 因此,状态是具有子属性等的属性
使用 NgRX Store Module 给 Angular 应用开发带来的收益
选择器是纯函数,它将状态切片(State slice)作为输入参数,并返回组件可以使用的状态数据切片(这些切片包含真正的业务数据)。 正如数据库有自己的 SQL 查询语言一样,Ngrx/store 模块也有自己的查询工具,即选择器。 在 Angular 应用程序中,每个功能模块负责将自己的状态注入到根应用程序状态(root application state)中。 因此,状态是具有子属性等的属性
Angular 应用里几种 Component 的分类阐述
Angular 组件架构可以通过充分利用 Angular(@Input() 和 @Output())和 ngrx/store(dispatch() 和 select() 方法)的内在特性来使 Angular 应用程序受益。 上图的体系架构里,我们观察到了两种类型的 Component: Smart(有时也称为 Container)Dummy(有时也称为 Presentational) C
关于 SAP 电商云 Spartacus UI Transfer State 冗余 API 请求发送的讨论
Angular 的 TransferState 类使服务器端渲染 (SSR) 和预渲染 (Prerendered-SSR) Angular 应用程序能够使用从服务器获取的数据并且有效地在浏览器中渲染。 如果您使用的是 SSR 或预渲染应用程序策略,那么该过程大致是这样的: 在服务器上预渲染或渲染应用程序浏览器获取呈现的 HTML 和 CSS 并显示“静态”应用程序浏览器获取、解析、解释和执
什么是 Angular Ngrx Store 里的 Meta-Reducer
本文选择了 Angular 团队提供的官方 Heroes Angular 应用程序作为起始应用程序来展示 Angular 的特性。 为了展示 ngrx/store 模块在处理 Angular Feature 模块方面的强大功能,我不得不通过引入一个名为 Heroes 的新 Feature 模块来重构一些 Heroes 应用程序。该模块现在包含所有与 Hero 相关的代码和组件。您可以通过以下链接