无路由器的Angular懒加载模块

问题描述 投票:7回答:1

是否可以从急于加载的 "共享 "模块中懒惰加载模块,该模块通过npm链接与其他模块相连?我得到这个错误。ERROR in .src$$_lazy_route_resource lazy namespace objectModule not found: 错误,无法解析'C:projects'。无法解析'C:projectsharedsrclazy modulelazy.module.ngfactory.js'中的'C:project/core/src/$_lazy_route_resource'。

-project 
        - shared (linked) (eagerly loaded)
                - lazy module
        - core (link) (main app module)

这是我的angular.json(位于core中)"lazyModules": ["../shared/src/lazy module/lazy.module"],

测试.组件.ts

constructor(public injector: Injector, private loader: NgModuleFactoryLoader) { }

private moduleRef: NgModuleRef<any>;

load(): Promise<void> {
    if (this.moduleRef) {
        return Promise.resolve();
    }

    const path = 'src/lazy-module/lazy.module#LazyModule';

    return this.loader
        .load(path)
        .then(moduleFactory => {
            this.moduleRef = moduleFactory.create(this.injector).instance;
            console.warn('moduleRef', this.moduleRef);
        })
        .catch(err => {
            console.error('error loading module', err);
        });
}

ngOnInit() {
    this.load();
}
angular typescript module lazy-loading
1个回答
0
投票

不,目前这是不可能的,请查看@ritaj关于github上现有功能请求的评论。https:/github.comangularangularissues18093。

© www.soinside.com 2019 - 2024. All rights reserved.