【问题标题】:Dynamic load external modules in angular2angular2中的动态加载外部模块
【发布时间】:2017-09-21 06:11:35
【问题描述】:

我有一个托管 angular2 应用程序的 node.js 应用程序。整个应用程序正在使用这样的延迟加载:

export const routes: Routes = [
    {
        path: '', component: MyComponent,
        children: [
            {
                path: 'lazy',
                loadChildren: '../common/lazy/lazy.module#LazyModule'
            }
    }
]

我公司的另一个团队正在构建另一种软件,但我们想重用他们的一些模块。我们不想严格共享代码库,而是公开托管一个模块并让它由应用程序本身加载,这样我们就可以做这样的事情

export const externalRoutes: Routes = [
    {
        path: 'externalModule',
        loadChildren: 'http://mymodules.host/lazy.module#LazyModule'
    }
]

是否可以在“实时”应用程序中加载模块?我知道有类似动态组件加载器的东西,但我们需要加载一个包含大量组件的模块。

【问题讨论】:

  • 这可能对你有帮助:stackoverflow.com/questions/42093101/…
  • 你使用 Angular cli 吗?你想加载一个路由器模块吗?
  • 还没有,我的目标是以后用aot。我想使用延迟加载从外部源加载模块(使用 http//mydomain.com/module)。这个模块可以编译js吗?完美的解决方案是使用动态路由,并且这个模块可以附加它自己的子路由。例如在 /externalModule 上,我从 http//externalMdoule 获取模块,并且该模块添加了一个子路由以允许访问 /externalModule/page1 /externalModule/page2 其中 page1 和 page2 是与模块一起下载的组件
  • 你解决了吗? @zaguubionytroll
  • @user3757628 很遗憾没有

标签: angular angular2-routing


【解决方案1】:

出于安全原因,您不能在项目之外加载模块。

你能做什么,作为其他团队创建一个 Angular 库项目

https://angular.io/guide/creating-libraries

并通过将其添加为 package.json

中的依赖项将其作为模块使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2017-01-10
    • 2010-09-17
    • 2019-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    相关资源
    最近更新 更多