Angular lazy loading module without router

Viewed 2737

is it possible to lazy load module from eagerly loaded "shared" module which is linked with other modules via npm link? I am getting this error: ERROR in ./src/$$_lazy_route_resource lazy namespace object Module not found: Error: Can't resolve 'C:project/shared/src/lazy module/lazy.module.ngfactory.js' in 'C:project\core\src\$$_lazy_route_resource'.

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

This is my angular.json (located in core) "lazyModules": ["../shared/src/lazy module/lazy.module"],

test.component.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();
}
1 Answers
Related