如何在打字稿中找到我的 chrome 扩展代码@types



我正在尝试将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