angular - 角元素:包括一次角核心
问题描述
Angular Elements是封装为自定义元素的 Angular 组件。每个 Angular Elements 都附带有角核心。如果在标准 html 页面中我包含 5 个 Angular Elements 组件,则此页面下载 5 倍 Angular 核心。
有一种方法可以包含一次角核心 e 仅下载组件代码?
解决方案
这是一个应该在 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 中)
推荐阅读
- javascript - 在服务器上运行部分代码镜像逻辑
- python - 为什么我的 Django 项目无法识别设置中安装的应用程序?
- python - 如何自定义不同的 TensorFlow-Federated 函数?
- jquery - 按两次 esc 关闭弹出窗口
- scikit-learn - sklearn model_selection 错误:ImportError: cannot import name '_approximate_mode'
- laravel - 如何在 laravel 中使用播种机保存特定文件 .docx
- php - 在 PHP 中计算数组的内存使用情况
- python - Python 解码来自 utf16 的列表元素
- java - 不使用 simpleMailMessage 发送电子邮件
- javascript - 当我想通过 google 或 facebook 登录时,如何使场景自动化?