簡體   English   中英

在啟用 Ivy 的情況下構建 monorepo Angular9 庫是不是一個壞主意

[英]Is it a bad idea to build monorepo Angular9 libraries with Ivy enabled

默認情況下,在創建 Angular9(當前為 RC)庫時,該庫是在生產模式下禁用 Ivy 的情況下構建的。 這是有道理的,因為發布為 Ivy 編譯的庫(尚)不受支持。

然而,就我而言,我有一個 monorepo 項目,我們使用庫來組織我們的代碼。 這些庫永遠不會推送到 NPM,僅用於在多步驟構建過程中構建主應用程序。 在禁用 Ivy 的情況下構建庫意味着主應用程序構建首先必須遍歷所有這些庫並調用 NGCC 來生成代碼的 Ivy 版本,這看起來效率極低而且很奇怪。

問題是:只為這些庫的生產版本啟用 Ivy 是不是一個壞主意? 如果是這樣,為什么? 可能會出現哪些潛在問題?

Google 之所以不建議發布 Ivy 庫,是因為開發人員仍然可以選擇退出 Ivy。 一旦他們最終確定並將所有人轉移到 angular 10 中的新構建系統,那么他們可能會重新審視他們在已發布庫中對 Ivy 的支持。

我想說的是,如果您在整個項目中都使用 Ivy,並且沒有將它們提供給會關閉 Ivy 的人,那么將庫設置為 Ivy。 就像你說的,它有點低效,因為它必須將庫轉換為 Ivy。 Google 不建議發布。 並不是說他們不建議使用 Ivy 庫。

我使用https://indepth.dev/the-angular-ivy-guide-for-library-authors/來為我的答案加油。 我需要了解為什么Google 建議不要發布 Ivy 庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM