如何在没有常春藤的情况下编译库?

时间:2019-11-30 03:53:46

标签: javascript node.js angular typescript npm

我正在发布一个库,当我CD到RewriteCond %{REMOTE_ADDR} !=THE_IP RewriteCond %{REQUEST_URI} !^\/construction\.php|\/YOUR_IMAGE\.jpg RewriteRule .* /construction.php [R=302,L] 时,我收到消息:

  

错误:尝试发布由Ivy编译的软件包。这是不允许的。   在尝试发布之前,请删除并重建该程序包,而不用Ivy进行编译。

在没有常春藤的情况下我们如何重建?

3 个答案:

答案 0 :(得分:10)

修复angular 9.x.x

如果您将应用程序迁移到了9号角,并且看到了此类错误,请确保使用--prod选项构建您的库,而该库不会使用IVY构建

ng build yourLibraryName --prod

当您通过--prod时,它将在没有常春藤选项的情况下进行构建,并且将允许发布它。

作为迁移的一部分,有角度的CLI创建tsconfig.lib.prod.json并配置为不使用IVY,一切都准备就绪

答案 1 :(得分:3)

要纠正此警告,请执行以下操作:

尝试在tsconfig.lib.json中添加以下行来禁用"angularCompilerOptions"中的Ivy:-

"enableIvy": false

使用--prod

构建

示例:ng build your-package-name --prod

答案 2 :(得分:0)

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

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