解决 Angular 官网下载的库 Schematics 执行 npm run build 时遇到的编译错误
我在 Angular 官网下载的 library Schematics 例子,运行命令行 npm run build 时,遇到如下错误: npm run build my-lib@0.0.1 build c:\Code\SPA\schematics-for-libraries\projects\my-libtsc -p tsconfig.schematics.json sche
解决 Angular 官网下载的 library Schematics build 出错的办法
从 angular 官网下载 Schematics 的例子,在工作区的根目录下,运行库的 ng build 命令。 ng build my-lib 错误消息: An unhandled exception occurred: Cannot find module ‘@angular-devkit/build-ng-packagr/package.json’Require stac
Angular 原理图 Schematics 学习 - 动手开发一个实际的例子
当 ng add 命令向项目中添加某个库时,就会运行原理图。ng generate 命令则会运行原理图,来创建应用、库和 Angular 代码块。 一些术语: 规则在原理图 中,是指一个在文件树上运行的函数,用于以指定方式创建、删除或修改文件,并返回一个新的 Tree 对象。 文件树在 schematics 中,一个用 Tree 类表示的虚拟文件系统。 Schematic 规则以一个 tre
npm publish 发布一个 Angular 库的时候报错以及解决方法
我今天照着 npm 文件,打算把自己开发的 npm 库发布到公网上: npm login 之后,使用命名行 npm config set registry=http://registry.npmjs.org, 遇到如下错误: npm notice Beginning October 4, 2021, all connections to the npm registry - inclu
ABAP 代码中,哪些特殊字符不能用于变量命名?
下列 ABAP 代码,哪些行会引起编译错误? REPORT z. TYPES t_itab TYPE TABLE OF i WITH EMPTY KEY. DATA(lt*) = VALUE t_itab( ( 10 ) ( 20 ) ( 30 ) ). DATA(lt!) = VALUE t_itab( ( 10 ) ( 20 ) ( 30 ) ). DATA(lt$)
介绍一个使用 cl_abap_corresponding 进行两个内表不同名称字段赋值的快捷方法
假设我们有两个 ABAP 内表,每个内表分别包含 a, b 和 a’, b’ 字段。 我们希望把内表1 的 a 和 b 字段,分别赋给内表2 的 a’ 和 b’ 字段。因为字段名称不相同,所以无法使用 MOVE-CORRESPONDING. 传统的做法,是写一个 LOOP,在循环体内,手动把表1每一行的字段a,赋给表2每一行的字段a’: 其实有一种更简单高效的方法。 使用 cl_a
Angular 为什么要引入 injection token 的概念
你可以定义和使用一个 InjectionToken 对象来为非类的依赖选择一个提供者令牌。 这里的重点是:非类。 下列例子定义了一个类型为 InjectionToken 的 APP_CONFIG . import { InjectionToken } from '@angular/core'; export const APP_CONFIG = new Injectio
如何创建 Angular 库并在 Angular 应用里调用
把功能打包成库会强迫库中的工件与应用的业务逻辑分离。这有助于避免各种不良实践或架构失误,这些失误会导致将来很难解耦和复用代码。 把代码放到一个单独的库中比简单地把所有内容都放在一个应用中要复杂得多。它需要更多的时间投入,并且需要管理、维护和更新这个库。不过,当把该库用在多个应用中时,这种复杂性就会得到回报。 Angular 库是一个 Angular 项目,它与应用的不同之处在于它本身是不能运行
Angular 如何为多个项目使用单一存储仓库
Angular 工作区是 Angular project 的集合。Angular project 包含 application 和 library 两种。 而用来创建或操作应用和库的命令(比如 add 和 generate)必须在工作区目录下才能执行。 ng new <my-project> 上述命令行实际上创建的是一个新的工作区。 当你运行这个命令时,CLI 会在
JavaScript 里三个点 ... 的用法
Three dots ( … ) in JavaScript Rest Parameters使用 rest 参数,我们可以将任意数量的参数收集到一个数组中,然后用它们做我们想做的事情。 引入了其余参数以减少由参数引起的样板代码。 function myFunc(a, b, ...args) { console.log(a); // 22 console.log(b); // 98
关于 SAP 电商云 Spartacus UI SSR 的 state transfer 问题
我使用基于版本 3.4.5(某客户正在使用)的 Schematics 创建了一个店面,并在 SSR 模式下运行它。 我在浏览器中访问 http://localhost:4000/。 通过 Chrome 开发工具我知道主页的源代码是由 SSR 服务器成功生成了。 然而,即使在 SSR 模式下,我发现 /cms/pages OCC API 仍然是从客户端触发的。 在 SSR 服务器
web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
Avoid Large, Complex Layouts and Layout Thrashing 布局是浏览器计算元素几何信息的地方:即元素在页面中的大小和位置。 每个元素都将具有基于所使用的 CSS、元素的内容或父元素的显式或隐式大小信息。 该过程在 Chrome、Opera、Safari 和 Internet Explorer 中称为布局(Layout). 在 Firefox 中,它被称
使用工具分析 SAP UI5 应用前端执行的性能问题
这是 Jerry 2021 年的第 66 篇文章,也是汪子熙公众号总共第 343 篇原创文章。 国庆黄金周开始的前一天,9月30日,我所在的开发团队收到了一个关于 Angular 应用的服务器端渲染(Server Side Render,简称为 SSR)的客户 incident,让我有机会学习如何使用 Chrome 开发者工具来分析 Web 应用的性能问题。 Jerry 之前曾经写过一篇关于
如何将 SAP UI5 应用托管到 Github 网站上并运行
本文我本来想用标题“如何将 SAP UI5 应用部署到 Github 网站上并运行”,但实际上这种操作并没有真正将 SAP UI5 应用部署到传统意义上的服务器,而仅仅是利用了 Github 提供的 gh-pages 功能,来达到运行 web 应用的目的。 这个办法可以用于想展示一些 demo 给别人看,但懒得把应用发布到 SAP BTP,或者懒得使用 jsbin 等工具网站的场景。 要达到本
SAP Business ByDesign 和支付宝与钉钉集成的一个原型开发案例
原文:Doing Business on the Go – Invoice to Cash the China Way (PoC) 众所周知,中国移动应用市场具有如下特点: 腾讯和阿里巴巴的多用途平台双头垄断即时通讯的主导地位移动支付深度无缝融入即时通讯(微信支付和支付宝) 虽然“移动优先”已经成为一个流行词,但迄今为止,只有在中国,才算是真正意义上的移动应用无处不在的国家。在微信和支付
如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
我的微信群里有朋友提问: 如何找到某个 ABAP structure 里的某个字段,运行时的值是从哪个数据库表的字段里写入的? 以 ABAP structure BAPIAD1VL 为例,假设我们需要查找 字段 DISTRCT_NO 的来源。 其实没有什么太好太精确的办法。我这里提供一种办法。 选中 DISTRCT_NO, 点击 SE11 工具栏的 Where used list
什么是 Web 应用性能评测领域的 RAIL 模型
Measure performance with the RAIL model RAIL 是一种以用户为中心的性能模型,它提供了一种考虑性能的结构。 该模型将用户体验分解为关键操作(例如,点击、滚动、加载)并帮助您为每个操作定义性能目标。 RAIL 代表 Web 应用程序生命周期的四个不同方面:响应、动画、空闲和加载,即 response, animation, idle 和 load的缩写。
jMeter Thread group 对应的 constant timer
我创建了一个 CSV Data set config,sharing mode 设置成 Current thread,即每个线程会分别从头至尾读取 csv 文件。 我设置的线程数和 loop 数都为 5: csv 文件的内容: 可以看到,第二个线程的第二次,第三次,第四次和第五次执行,都被延迟到了很后面的位置。 如果在 thread group 层级加上一个 1秒的延时:
jMeter 里 CSV Data Set Config Sharing Mode 的含义详解
CSV Data Set Config in Sharing Mode - Made Easy 为了使性能测试更加真实,最好不要在每个线程组中使用相同的用户。因此,您需要一种方法来配置 Apache JMeter™ 以使用具有唯一用户数据的不同用户,并提出有关如何有效存储将在测试运行期间使用的用户数据的想法。 为此,JMeter 有一个非常有用的配置元素,称为 CSV 数据集配置。 “CSV
如何使用 jMeter Parallel Controller - 并行控制器以及一些常犯的错误
How to Use the Parallel Controller in JMeter 本文我们将分析 Apache JMeter™ 的扩展之一 - 并行控制器(Parallel Controller)。 该控制器由 BlazeMeter 开发,作为对开源社区的贡献,由 Andrey Pokhilko 和 Artem Fedorov 开发。 并行控制器可用于创建并行请求。 并行请求是指不是一