Angular CLI构建含路由懒加载语法的库时抛出错误,如何解决?
解决方案
方案1:开启动态导入内联(最适配Angular库构建场景)
Angular库默认打包为单入口FESM格式文件,路由懒加载的import()语法会生成多个chunk,和默认单文件输出冲突,开启内联即可解决:
- 打开项目根目录下的
angular.json文件 - 找到对应库的
architect > build > options配置节点 - 新增配置项:
"inlineDynamicImports": true
示例配置片段:
{ "projects": { "你的库名称": { "architect": { "build": { "options": { "inlineDynamicImports": true, // 其他原有配置保持不变 "project": "projects/你的库名称/ng-package.json" } } } } } }
配置完成后重新执行ng build 你的库名称即可。
方案2:修复tslib废弃警告
提示中的DEP0148警告是低版本tslib的已知问题,直接升级tslib到最新稳定版即可解决:
执行命令:
npm install tslib@latest --save
补充说明
如果你的库需要对外开放懒加载路由模块,不要在库内部写死懒加载导入逻辑,改为让使用库的业务项目自行配置懒加载路径,也可以从根源避免多chunk打包冲突问题。
内容的提问来源于stack exchange,提问作者Patri
相关产品推荐
相关产品推荐

