代码之家  ›  专栏  ›  技术社区  ›  Donovant

如何在角5中延迟加载外部模块?

  •  1
  • Donovant  · 技术社区  · 6 年前

    我正试图将一个外部模块(我写的)懒惰地加载到一个主应用程序中,但我遇到了一些错误,但首先我想问您是否必须构建 DIST 首先是外部模块,还是我必须使用源文件?

    主应用程序/模块和外部应用程序/模块均以角5写入。

    错误:

    ERROR in Error: No NgModule metadata found for 'AppModule'.
        at NgModuleResolver.resolve (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler/bundles/compiler.umd.js:20291:23)
        at CompileMetadataResolver.getNgModuleMetadata (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler/bundles/compiler.umd.js:15244:60)
        at visitLazyRoute (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler/bundles/compiler.umd.js:31182:104)
        at AotCompiler.listLazyRoutes (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler/bundles/compiler.umd.js:31150:20)
        at AngularCompilerProgram.listLazyRoutes (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler-cli/src/transformers/program.js:156:30)
        at Function.NgTools_InternalApi_NG_2.listLazyRoutes (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@angular/compiler-cli/src/ngtools_api.js:44:36)
        at AngularCompilerPlugin._getLazyRoutesFromNgtools (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:246:66)
        at Promise.resolve.then.then (/Users/me/Dev/Work/mobile-shop-frontend/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:537:50)
        at <anonymous>
        at process._tickCallback (internal/process/next_tick.js:160:7)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Amit Kumar    6 年前

    您必须为此外部模块编写一个包装模块,然后惰性地加载这个包装模块。Angular不将外部节点模块作为惰性模块加载,因此我采用了相同的方法