首页 > 解决方案 > 角元素:包括一次角核心

问题描述

Angular Elements是封装为自定义元素的 Angular 组件。每个 Angular Elements 都附带有角核心。如果在标准 html 页面中我包含 5 个 Angular Elements 组件,则此页面下载 5 倍 Angular 核心。

有一种方法可以包含一次角核心 e 仅下载组件代码?

标签: angularcustom-elementangular-elements

解决方案


这是一个应该在 ivy 渲染器最终发布时消除的问题(https://is-angular-ivy-ready.firebaseapp.com/#/status - 状态在过去几个月没有改变.. .),因为它应该对任何未使用的代码进行树摇晃,从而减少每个元素的大小。

同时,您可以使用https://github.com/manfredsteyer/ngx-build-plus#advanced-example-externals-and-angular-elements从您的自定义元素构建中排除基础包并在您的基础应用程序中提供这些包,因此,例如角核心、rxjs 等仅加载一次。

编辑:确保在主应用程序之后加载自定义元素(通过使用延迟或动态加载它们)以确保加载所需的基本脚本。您不需要像项目自述文件中提到的那样添加 umd 库,只需确保您的基础应用程序具有所有这些脚本(如果尚未导入,则将它们添加到 angular.json 中)


推荐阅读