三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

SAP UI5 到底有没有 TypeScript Module Augmentation,类型增强、ControllerExtension 与 Fiori 扩展机制的边界

SAP UI5 到底有没有 TypeScript Module Augmentation,类型增强、ControllerExtension 与 Fiori 扩展机制的边界

在一个现代 SAP UI5 TypeScript 项目里,如果已经习惯了 Angular、Spartacus 或其他 TypeScript 生态,很自然会产生一个联想。TypeScript 可以通过declare module把已有模块里的类型继续补充下去,那么 SAP UI5 是否也存在一套相似机制,可以不修改原始ControllerControl或框架代码,却把自己的属性、方法和行为加进去。

这个问题不能只回答有或者没有,因为 SAP UI5 里实际上存在两条完全不同的扩展路线。

一条发生在 TypeScript 编译器看到的类型世界里,它解决的是静态类型问题。

另一条发生在 SAP UI5 Runtime 里,它解决的是对象真正拥有什么方法、控件真正拥有什么propertyaggregationevent,以及一个 SAP 标准应用怎样在不修改原代码的前提下加入客户逻辑。

如果把问题限定为 TypeScript 语法,那么答案非常明确,SAP UI5 TypeScript 项目当然可以使用 TypeScript 自己的Module Augmentation。SAP UI5 并没有发明另一门 TypeScript,官方提供的@sapui5/types@openui5/types最终仍然是 TypeScript declaration files,TypeScript Compiler 按照普通 TypeScript 类型声明处理它们。SAP U

← 返回列表