我正在发布一个库,当我将其cd到dist/my-library时,我收到了以下消息:错误:尝试发布已由Ivy编译的包。这是不允许的。在尝试发布之前,请删除并重新生成包,而不使用Ivy进行编译。艾薇不在了我们怎么重建
dist/my-library
lf5gs5x21#
修复angular 9.x.x
angular 9.x.x
如果您将应用迁移到angular 9,并且看到此类错误,请确保使用--prod选项构建库,否则将不会使用IVY构建库
--prod
ng build yourLibraryName --prod
字符串当你传递--prod时,它将在没有ivy选项的情况下构建,并且它将被允许发布。作为迁移的一部分,angular CLI创建tsconfig.lib.prod.json并配置为不使用IVY,这样就完成了所有设置
tsconfig.lib.prod.json
iklwldmw2#
在库项目中有一个tsconfig.lib.json文件。下面是我的Angular编译器配置:
tsconfig.lib.json
"angularCompilerOptions": { "skipTemplateCodegen": true, "strictMetadataEmit": true, "enableResourceInlining": true, "enableIvy": false },
字符串
von4xj4u3#
要修复此警告,请执行以下操作:在tsconfig.lib.json中添加以下行来禁用Ivy:-"enableIvy": false个
"enableIvy": false
或者
使用--prod构建示例:ng build your-package-name --prod
ng build your-package-name --prod
3条答案
按热度按时间lf5gs5x21#
修复
angular 9.x.x
如果您将应用迁移到angular 9,并且看到此类错误,请确保使用
--prod
选项构建库,否则将不会使用IVY构建库字符串
当你传递
--prod
时,它将在没有ivy选项的情况下构建,并且它将被允许发布。作为迁移的一部分,angular CLI创建
tsconfig.lib.prod.json
并配置为不使用IVY,这样就完成了所有设置iklwldmw2#
在库项目中有一个
tsconfig.lib.json
文件。下面是我的Angular编译器配置:字符串
von4xj4u3#
要修复此警告,请执行以下操作:
在
tsconfig.lib.json
中添加以下行来禁用Ivy:-"enableIvy": false
个或者
使用
--prod
构建示例:
ng build your-package-name --prod