延迟加载angular 4模块在不同的源文件夹

时间:2018-04-08 07:18:45

标签: angular angular2-routing angular-cli lazy-loading webpack-2

我正在尝试在另一个文件夹(/ home / abhishek / programming / angular4 / lazy-loading / lazy2 / src / app)中将懒惰加载模块(Angular 4)添加到当前正在运行的应用程序文件夹(/家/阿布舍克巴克/编程/ angular4 /延迟加载/的 lazy1 / SRC /应用)。 为了解释整个场景,我有一个角度为4的应用程序,使用angular-cli创建了一个可以延迟加载的组件。

我在这里有两个可用和懒惰的组件。通过角度路由器配置惰性组件以按需加载,这种延迟加载设置工作正常。 下面是工作路由配置:

 const routes: Routes = [
    { path: '', redirectTo: 'eager', pathMatch: 'full' },
    { path: 'eager', component: EagerComponent },
    //   { path: 'lazy', loadChildren: './lazy/lazy.module#LazyModule' },
    { path: 'lazy', loadChildren: '/home/abhishek/programming/angular4/lazy-loading/lazy1/src/app/lazy/lazy.module#LazyModule' }
 ];

现在我已将同一项目复制到另一个文件夹(lazy2)并尝试将 lazy2 文件夹中的组件加载到 lazy1 文件夹中的应用程序。

{ path: 'lazy', loadChildren: '/home/abhishek/programming/angular4/lazy-loading/lazy2/src/app/lazy/lazy.module#LazyModule' }

这样做我得到错误: ERROR in Error遇到静态解析符号值。不支持函数调用。考虑使用对导出函数的引用替换函数或lambda(原始.ts文件中的位置194:50),在/ home / abhishek / programming / angular4 / lazy-loading / lazy2 / node_modules / @ angular /中解析符号NgModule core / core.d.ts,解析/home/abhishek/programming/angular4/lazy-loading/lazy2/src/app/lazy/lazy.module.ts中的符号LazyModule,在/ home / abhishek / programming /中解析符号LazyModule angular4 /延迟加载/ lazy2 / SRC /应用程序/懒惰/ lazy.module.ts

我认为应该有一些实现这一目标的方法,我知道,我做错了什么,如果有人可以帮助我找出问题,那将会非常棒。

链接到相同应用的github仓库: lazy-loading-angular4

1 个答案:

答案 0 :(得分:0)

尝试从lazy2中删除node_modules文件夹。从我所看到的情况来看,您似乎与lazy2和lazy1文件夹中使用的@ angular / core模块存在冲突。

希望有所帮助