我正在尝试将Chrome扩展程序迁移到TypeScript,并且遇到了大量与缺乏@types
相关的错误。我认为如果有人阐明如何解决一个问题,他们中的大多数人都会得到解决。
所以我有这个通用的错误处理程序:
export function fsErrorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
}
}
这当然抱怨FileError
.
这些是我已经到位的@types
:
chrome
filesystem
filewriter
jquery
据我从HTML5文件系统API书中了解到,FileError 是File API的一部分,所以有了@types/文件系统,它应该被WebStorm识别出来。我错过了什么?
另一个缺少的类型是 navigator
,但我发现它已被合并到 lib.d.ts 的信息,因此它也应该被识别。
根据此链接 https://developer.mozilla.org/en-US/docs/Web/API/FileError FileError 是一个过时的功能。这就是为什么在类型定义中找不到它的原因。
尝试更改代码以使用新的 DOM4 DOMError
接口:https://developer.mozilla.org/en-US/docs/Web/API/DOMError