Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dynamic import not working inside Angular 8 library

Error on building angular library which uses dynamic imports.

When the library contains a file , which uses dynamic import to import a LazyModule,

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

The build will fail throwing error below.

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)
like image 716
saran Avatar asked Jun 18 '26 21:06

saran


1 Answers

Please export lazy.module in public-api.ts

like image 144
Abraham Avatar answered Jun 21 '26 08:06

Abraham



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!