[英]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.