Ole*_*Ole 9 javascript node.js npm typescript angular
我正在发布一个库,当我 cd 到dist/my-library我收到消息时:
错误:尝试发布已由 Ivy 编译的包。这是不允许的。在尝试发布之前,请删除并重新构建包,不要使用 Ivy 进行编译。
没有常春藤我们如何重建?
Ani*_*Das 11
修复 angular 9.x.x
如果您将应用程序迁移到 angular 9 并看到此类错误,请确保使用--prod不会使用 IVY 构建的选项构建您的库
ng build yourLibraryName --prod
Run Code Online (Sandbox Code Playgroud)
当您通过时--prod,它将在没有常春藤选项的情况下构建,并且将被允许发布。
作为迁移的一部分,angular CLI 创建tsconfig.lib.prod.json并配置为不使用 IVY,您就完成了
Ole*_*Ole 10
在库项目中有一个tsconfig.lib.json文件。这是我的 Angular 编译器配置:
"angularCompilerOptions": {
"skipTemplateCodegen": true,
"strictMetadataEmit": true,
"enableResourceInlining": true,
"enableIvy": false
},
Run Code Online (Sandbox Code Playgroud)
小智 5
要修复此警告:
尝试tsconfig.lib.json通过添加以下行来禁用 Ivy "angularCompilerOptions":-
"enableIvy": false
或者
构建与--prod
例子:ng build your-package-name --prod