Create dynamic component loading documentation
See original GitHub issueπ 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
https://github.com/angular/angular-cli/issues/19016 https://github.com/angular/angular-cli/issues/19321 angular/angular#36255 angular/angular#37216 https://github.com/angular/angular/issues/15510
Issue Analytics
- State:
- Created 3 years ago
- Reactions:15
- Comments:10 (3 by maintainers)
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.
This is something that should be addressed by the full team and not discarded because it doesnβt have enough votes. This is not a trivial feature that users are asking for, this basically makes Ionic Angular-based apps unable to be built if we use dynamic components for alerts, for instance ( see https://github.com/jgerstle/ionic-custom-alert ).
What workaround is the Angular team proposing other than just leaving us with our hands tied βuntil itβs doneβ ? Quite a bad design decision made with no workaround provided, other than disabling all optimizations. I just spent all day trying to work around this and itβs been impossible, so Iβve had to revert back my app to Angular 11 and use enableIvy=false.