【发布时间】:2021-11-27 19:37:56
【问题描述】:
我有一个 TypeScript 项目 (https://github.com/jmaister/excellentexport),它运行良好。
添加dependabot进程后,提示升级typescript:
Bump typescript from 4.3.4 to 4.4.3
但是,由于我维护的库对 Internet Explorer 的旧 Internet Explorer 属性的引用,它无法使用新版本构建。
这是构建错误的示例:
src/excellentexport.ts:143:30 - error TS2339: Property 'msSaveBlob' does not exist on type 'Navigator'.
143 if (window.navigator.msSaveBlob) {
~~~~~~~~~~
src/excellentexport.ts:145:30 - error TS2339: Property 'msSaveBlob' does not exist on type 'Navigator'.
145 window.navigator.msSaveBlob(blob, filename);
~~~~~~~~~~
src/excellentexport.ts:278:34 - error TS2339: Property 'msSaveBlob' does not exist on type 'Navigator'.
我应该取消对旧 Internet Explorer 的支持吗?是继续使用那些 IE 特定属性的方法吗?
【问题讨论】:
-
我会删除对旧 IE 的支持。它们是人们需要更多理由放下的安全噩梦。如果做不到这一点,则不是 TypeScript 本身,而是与 TypeScript 捆绑在一起的 lib.d.ts 和相关文件导致了问题。见github.com/microsoft/TypeScript-DOM-lib-generator/issues/1029
-
您是否应该删除 IE 支持取决于您/您的公司是否愿意或必须支持它。 (理想情况下,每个人都会删除它。)