【问题标题】:Dynamic Angular component动态角度组件
【发布时间】:2019-02-08 23:57:59
【问题描述】:

我需要向 Angular 应用程序添加一个动态组件。这个想法是将组件捆绑在一个 JavaScript 文件中,该文件将在某些条件下下载。

整个想法是在独立组件(功能)准备好时发布它们。它们应该与应用程序无缝协作,而无需重新编译主应用程序。

我确实看过https://angular.io/guide/dynamic-component-loader。但是该示例编译了动态组件以及我无法执行的解决方案。

知道如何实现这一目标吗?

【问题讨论】:

  • 您能详细说明一下要求吗?
  • 整个想法是在独立组件(功能)准备好时发布它们。它们应该与应用程序无缝协作,而无需重新编译主应用程序。
  • 我强烈建议使用 ReactJs/Redux 社区经常喜欢的分形模式。它使您可以发布对整个解决方案的影响最小的更改。另外,为什么需要“发布”一个 Web 应用程序?不是在您的 dev/qa/prod 服务器上吗?或者这是一个商业产品?两者都有特定的上下文,但通过引入实际上不包含真正插件的插件框架,两者都不会很好地服务。

标签: angular angular-dynamic-components


【解决方案1】:

不幸的是,Angular 需要在构建之前在模块中指定组件依赖项。

关于如何在运行时使用系统 js 加载组件有很多很好的读物,但没有明确定义的文档。这是可能的,但具有挑战性。

https://github.com/kirjs/angular-dynamic-module-loading

https://github.com/nmarra/dynamic-module-loading

Load new modules dynamically in run-time with Angular CLI & Angular 5

另外我想分享一个有趣的链接 Single-SPA framework ,它可以帮助您加载多个应用程序,而不管 Angular、React、Vue 等没有 IFrame。

https://single-spa.js.org/docs/getting-started-overview.html

在您的情况下,您可以加载多个 Angular 应用程序,您可以将其保留为独立的部署包。

【讨论】:

    猜你喜欢
    • 2017-07-19
    • 1970-01-01
    • 2022-01-04
    • 2020-12-15
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-27
    相关资源
    最近更新 更多