猿问

如何手动延迟加载模块?

如何手动延迟加载模块?

我已经尝试加载没有使用路由器的模块SystemJsNgModuleLoader,但无法使其工作:

this.loader.load(url).then(console.info);

我正在Cannot find module xxx使用我用于URL的任何字符串(aboslute / relative urls / paths ...尝试了很多选项)。我浏览了一下路由器源代码,然后找不到其他任何东西SystemJsNgModuleLoader。我甚至不确定我应该使用这个......


昨天在ng-europe 2016会议上就提出了这个问题--Miško和Matias回答说:

MiškoHevery: 只需要掌握模块,就可以从那里获得组件工厂,您可以在应用程序中的任何位置动态加载组件工厂。这正是路由器内部所做的事情。因此,你也可以做到这一点。

MatiasNiemelä 唯一值得注意的是,在[Ng]模块上有一些被调用的东西entryComponents,它可以识别可以延迟加载的组件 - 这是该组件集的入口。所以当你有懒惰加载的模块时,请把东西放进去entryComponents

......但是,如果没有关于这个问题的例子和糟糕的文档,那就不是那么紧张的前进了;

任何人都知道如何手动加载模块,而不使用Route.loadChildren?如何掌握模块以及应该进入的内容究竟是什么entryComponents(我阅读常见问题解答,但不能在没有实际加载模块的情况下尝试)?


繁星点点滴滴
浏览 1434回答 2
2回答
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答