如何使用SystemJsNgModuleLoader延迟加载“外部”模块

时间:2017-09-20 23:06:37

标签: angular angular-cli

我能够使用SystemJsNgModuleLoader延迟加载angular-cli app中的本地模块,使用此评论中的建议:

How to manually lazy load a module?

我可以使用这个角度库生成器使用外部角度库模块的组件:

https://github.com/jvandemo/generator-angular2-library

所有这些都在同一个非常简单的angular-cli app中。但是当我从本地模块更改provideRoutes loadChildren param中的路由以尝试访问外部库模块时,我收到错误。我尝试使用loadChildren param成功访问外部角度库似乎没有价值。

以下是我在modtest应用中尝试的一个堆栈跟踪:

ERROR in ./src/$$_gendir lazy
Module not found: Error: Can't resolve '...\modtest\src\node_modules\lib\lib.ngfactory.ts' in '...\modtest\src\$$_gendir'
resolve '...\modtest\src\node_modules\lib\lib.ngfactory.ts' in '...\modtest\src\$$_gendir'
  using description file: ...\modtest\package.json (relative path: ./src/$$_gendir)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: ...\modtest\package.json (relative path: ./src/$$_gendir)
    using description file: ...\modtest\package.json (relative path: ./src/node_modules/lib/lib.ngfactory.ts)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        ...\modtest\src\node_modules\lib\lib.ngfactory.ts doesn't exist
      .ts
        Field 'browser' doesn't contain a valid alias configuration
        ...\modtest\src\node_modules\lib\lib.ngfactory.ts.ts doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        ...\modtest\src\node_modules\lib\lib.ngfactory.ts.js doesn't exist
      as directory
        ...\modtest\src\node_modules\lib\lib.ngfactory.ts doesn't exist
[...\modtest\src\node_modules\lib\lib.ngfactory.ts]

注意它试图访问src目录下的node_modules目录!然后查找lib.ngfactory.ts文件。图书馆是否需要公开一些ngfactory课程?

有没有办法使用SystemJsNgModuleLoader访问外部库? 或者块在哪里:angular,angular-cli或generator-angular2-library? 所以我可以提出功能请求......

更新: 要查看此代码的运行示例,请参阅以下具有使用说明的repo: https://github.com/neonguru/lazyloadtest

0 个答案:

没有答案