开发者社区> -技术小能手-> 正文

SAP 电商云 Spartacus UI 支持延迟加载的新功能的入口设计

简介: 假设我们要为 Spartacus UI 开发一个新功能,首先,这个新功能,应该放到 feature library 文件夹里:
+关注继续查看

image.png

image.png

image.png

image.png

image.png

image.png

为什么要设计这个 public_api.ts 呢?为了让语义更加清楚。这个最佳实践定义在此处。


public_api.ts 旨在枚举和公开特定功能以供外部使用。 * index.ts 旨在作为默认导出机制来弃用绝对路径导入。

更详细的讨论:


(1) 消歧:鉴于缺少“内部”修饰符和内部模块增加的复杂性,需要多个 index.ts 桶文件来提供不同的内部/外部 API 表面。


(2) Angular CLI 面向用户的工具:为了提供省力的工具默认值,需要一个公共 API 文件标准。 NG 编译器所做的不仅仅是将所有 TypeScript 构建为 JavaScript;值得注意的是,它还会根据选择的入口点进行摇树。出于其他原因, index.ts 是默认的糟糕选择。


(3) Angular 内部代码质量:public-api 是与 Angular 消费者的契约,必须严格控制,伴随着文档变化、新测试、兼容性评估和公告的变化。为此,项目设置会自动拒绝导致 public-api 更改的代码更改。


(4) 意识/清晰度/意图:我认为这通常是其他评论所暗示的。历史上,人们一直在使用 index.ts 来处理内部和外部的所有事情。当然,一个项目只能将 index.ts 用于公共 API 签名,但这并不明显。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP 电商云 Spartacus UI 支持延迟加载的新功能的入口设计
假设我们要为 Spartacus UI 开发一个新功能,首先,这个新功能,应该放到 feature library 文件夹里:
41 0
阿里云物联网平台数字孪生功能Quick Start
数字孪生是物理世界的数字化呈现,可通过构建孪生体来描述设备、流程、系统、场景等业务模型,对物理世界实体信息进行实时采集、运算分析、监控统计等,助您更精准地掌握业务模型动态变化,进而实现对实际生产过程的提效和降本目的。本文从产品创建开始,一步一步演示如何使用物联网平台的数字孪生功能。
14574 0
SAP Spartacus B2B功能,只渲染BodyContent position里的UI
SAP Spartacus B2B功能,只渲染BodyContent position里的UI
24 0
SAP Spartacus的延迟加载Deferred Loading
SAP Spartacus的延迟加载Deferred Loading
36 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
20879 0
Artsy 工程师总结的一些 Cocoa 开发设计误区
本文讲的是Artsy 工程师总结的一些 Cocoa 开发设计误区,在开发 Artsy 这款 iOS app 的时候,我们尝试了一些设计模式。现在我想要谈谈现在我们有的和已经被移除的设计模式。我不会面面俱到,毕竟已经历了那么长时间
916 0
SAP Spartacus 基于行项目的订单取消功能(order cancel)实现
SAP Spartacus 基于行项目的订单取消功能(order cancel)实现
16 0
1724
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载