首页 > 解决方案 > 动态导入在 Angular 8 库中不起作用

问题描述

构建使用动态导入的角度库时出错。

当库包含一个文件时,它使用动态导入来导入一个 LazyModule,

import('./lazy/lazy.module').then(({ LazyModule }) => {
      const MyComponent = LazyModule.entry;
    ....

构建将失败并在下面抛出错误。

Error: You must set "output.dir" instead of "output.file" when generating multiple chunks.
    at error (c:\Development\rollup-test\node_modules\rollup\dist\rollup.js:3410:30)
    at normalizeOutputOptions (c:\Development\rollup-test\node_modules\rollup\dist\rollup.js:17107:13)
    at getOutputOptions (c:\Development\rollup-test\node_modules\rollup\dist\rollup.js:16865:24)
    at Object.write (c:\Development\rollup-test\node_modules\rollup\dist\rollup.js:16957:43)
    at Object. (c:\Development\rollup-test\node_modules\ng-packagr\lib\flatten\rollup.js:46:22)
    at Generator.next ()
    at fulfilled (c:\Development\rollup-test\node_modules\ng-packagr\lib\flatten\rollup.js:4:58)

标签: angular8angular-librarydynamic-import

解决方案


请在 public-api.ts 中导出lazy.module


推荐阅读