Skip to content

Create dynamic component loading documentation #39624

Open

Description

@alan-agius4

📚 Docs or angular.io bug report

Description

Following the discussions held yesterday during the tooling meeting we should create a documentation explaining how to load a dynamic component.

This document should also make it clear which scenarios are supported and not. In many cases currently, users are currently using a mixture of AOT and JIT to dynamically load a component. This doesn't work with any build optimizations (ie: terser and build optimizer), among other things due to the ngJitMode: false guards.

Using AOT/JIT interop with build optimizations is currently not supported as the main use cases for this appears to be unit testing scenarios, that is until the Dynamic view composition project which is currently listed on ng-elephant is finalized.

Users who are concerned about performance, security and bundle sizes shouldn't use AOT+JIT interop. Compile components at runtime is a cross-site scripting (XSS) vulnerability in itself and shouldn't be used for production.

Related issues

angular/angular-cli#19016
angular/angular-cli#19321
#36255
#37216
#15510

Activity

  1. modified the milestone: Backlog on Nov 10, 2020
  2. gmaggiodev commented on Nov 10, 2020

    @gmaggiodev

    @alan-agius4, Dynamic view composition is a base feature for our application framework (built on top of angular) and we are in trouble for the reasons you explained here. Can you give me a look on what you called "Dynamic view composition project"?

  3. alan-agius4 commented on Nov 10, 2020

    @alan-agius4
    ContributorAuthor

    @gmaggiodev, dynamic view composition is still at design phase.

  4. changed the title [-][docs] Dynamic Component Loading[/-] [+]Create dynamic component loading documentation[/+] on Nov 10, 2020
  5. pcatuna commented on Dec 3, 2020

    @pcatuna

    @alan-agius4 Could you please give us an estimation for when this will be done ? And Is there any workaround at the moment for Angular 9/10 for AOT + JIT or is there a proper way to implement such a thing ? Or as is there an estimation for the 'Dynamic view composition project' ? I am facing mostly the same problems as @gmaggiodev said.

  6. hydra1983 commented on Mar 26, 2021

    @hydra1983

    @pcatuna you may have a look at this Uncaught (in promise): Error: Angular JIT compilation failed: '@angular/compiler' not loaded! in angular 9

    I think exclude of TerserPlugin may help to decrease the generated size after side_effects set to false.

  7. angular-robot commented on Jun 4, 2021

    @angular-robot
    Contributor

    Just a heads up that we kicked off a community voting process for your feature request. There are 20 days until the voting process ends.

    Find more details about Angular's feature request process in our documentation.

  8. bh3605 commented on Jun 16, 2021

    @bh3605

    I'm more curious about your reference to ng-elephant. What is that?

  9. angular-robot commented on Jun 24, 2021

    @angular-robot
    Contributor

    Thank you for submitting your feature request! Looks like during the polling process it didn't collect a sufficient number of votes to move to the next stage.

    We want to keep Angular rich and ergonomic and at the same time be mindful about its scope and learning journey. If you think your request could live outside Angular's scope, we'd encourage you to collaborate with the community on publishing it as an open source package.

    You can find more details about the feature request process in our documentation.

  10. 4 remaining items

  11. added
    needs: discussionIndicates than an issue is an open discussion
    and removed
    featureLabel used to distinguish feature request from other issues
    on Jul 7, 2022
  12. NoelDeMartin commented on Mar 4, 2024

    @NoelDeMartin

    In the end we came up with our own workaround to do this #44660 (comment), in case anyone is interested.

  13. added
    area: docsRelated to the documentation
    and removed on Nov 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P4A relatively minor issue that is not relevant to core functionsarea: docsRelated to the documentationneeds: discussionIndicates than an issue is an open discussion

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions