我正在尝试将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 FileSystem API book所理解的那样,FileError是File API的一部分,所以在@ types / filesystem到位的情况下,它应该被WebStorm识别......我缺少什么?
另一个缺失的类型是navigator
,但是我发现它已经合并到lib.d.ts,所以它也应该被识别。
答案 0 :(得分:0)
根据此链接https://developer.mozilla.org/en-US/docs/Web/API/FileError FileError是一个过时的功能。这就是为什么你没有在类型定义上找到它。
尝试更改代码以使用新的DOM4 DOMError
界面:https://developer.mozilla.org/en-US/docs/Web/API/DOMError