J'ai essayé de charger les modules sans routeur à l'aide d' SystemJsNgModuleLoader
, mais ne pouvais pas le faire fonctionner:
this.loader.load(url).then(console.info);
Je reçois Cannot find module xxx
quelque soit la chaîne de caractères que j'utilise pour l'URL (aboslute/url relatives/les chemins... essayé plusieurs options). J'ai regardé à travers le Routeur code source et ne pouvait pas trouver autre chose alors c' SystemJsNgModuleLoader
. Je ne suis même pas sûr que je devrais être à l'aide de ce...
Cette question a été posée hier à l' ng-europe 2016
conférence - Miško & Matias répondu:
Miško Hevery: Il suffit de se procurer du module, à partir de là, vous pouvez obtenir le maintien de la composante de l'usine et vous pouvez charger dynamiquement des composants de l'usine de n'importe où vous voulez dans l'application. C'est exactement ce que le routeur n'en interne. Il est donc tout à fait détroit vers l'avant pour vous de le faire.
Matias Niemelä La seule chose à noter est que le [Ng]Module il y a quelque chose qui s'appelle
entryComponents
et qui identifie les éléments qui pourraient être paresseux chargé - c'est l'entrée dans le jeu de composants. Ainsi, lorsque vous avez des modules qui sont paresseux chargé, s'il vous plaît mettre les choses enentryComponents
.
...mais ce n'est pas que le détroit de l'avant, sans les exemples et les pauvres docs sur le sujet (;
Quelqu'un sait comment faire pour charger les modules manuellement, sans l'aide d' Route.loadChildren
? Comment trouver le module et ce qui est exactement le truc qu'il faut aller en entryComponents
(j'ai lu la FAQ, mais ne peut pas essayer sans module de chargement)?