[英]How to make 4.X Typescript project compatible with older version of Typescript 3.X?
如何使建立在 TS 4.X 之上的 package 與 3.X 兼容? 就像,如果您有更新的版本 -> 使用新功能,否則 -> 使用any
或unknown
或舊版本支持的任何內容。
有沒有可能為此目的使用指令?
您可以在 npm 中使用安裝 typescript 的舊版本(無論您想要什么,例如:`npm i --dev typescript@3.5.2)並嘗試修復錯誤。 然后將 typescript 版本恢復到 v4 或其他任何版本。
現在您的代碼與指定的舊 typescript 版本兼容(只需確保代碼的功能在更新時不會改變)。
注意:TypeScript 具有“降級”它發出的 JavaScript 的功能,用於將來自更高版本的 ECMA 腳本標准的語言構造轉換為在舊版本中工作的構造。 (參見tsconfig 的compileOptions.target
字段)。
據我所知, TypeScript本身沒有這樣的功能來降低它發出的類型文件的級別(包括撰寫本文時的指令),但是 Nathan Sanders(Definite Typed 的維護者)維護了一個開源項目, downlevel-dts
,到 downlevel.d.ts 文件,這些文件可以將類型一直降低到 typescript v3.4 語法。
您需要以某種方式將其掛接到您的構建過程中。
以下是我認為其他提議的解決方案可能存在的問題:
“使用較舊的 typescript 版本來發出您的打字”
“維護 TypeScript 語言版本的類型”
對於任何想要了解更多關於這個一般主題和良好實踐的無聊/熱心讀者,typescript 類型的語義版本控制在semver-ts.org上進行了非常徹底的討論,這不是一篇簡短的文章,而是一篇很好的文章。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.