npm 如何在没有Ivy的情况下编译一个库?

jvlzgdj9  于 2023-08-06  发布在  其他
关注(0)|答案(3)|浏览(113)

我正在发布一个库,当我将其cd到dist/my-library时,我收到了以下消息:
错误:尝试发布已由Ivy编译的包。这是不允许的。在尝试发布之前,请删除并重新生成包,而不使用Ivy进行编译。
艾薇不在了我们怎么重建

lf5gs5x2

lf5gs5x21#

修复angular 9.x.x

如果您将应用迁移到angular 9,并且看到此类错误,请确保使用--prod选项构建库,否则将不会使用IVY构建库

ng build yourLibraryName --prod

字符串
当你传递--prod时,它将在没有ivy选项的情况下构建,并且它将被允许发布。
作为迁移的一部分,angular CLI创建tsconfig.lib.prod.json并配置为不使用IVY,这样就完成了所有设置

iklwldmw

iklwldmw2#

在库项目中有一个tsconfig.lib.json文件。下面是我的Angular编译器配置:

"angularCompilerOptions": {
    "skipTemplateCodegen": true,
    "strictMetadataEmit": true,
    "enableResourceInlining": true,
    "enableIvy": false
  },

字符串

von4xj4u

von4xj4u3#

要修复此警告,请执行以下操作:
tsconfig.lib.json中添加以下行来禁用Ivy:-
"enableIvy": false

或者

使用--prod构建
示例:ng build your-package-name --prod

相关问题