尝试在 openlayers 中导入 GeoTiff 源时出现错误 TS2304 AbstractDecoder

When trying to import GeoTiff source in openlayers get error TS2304 AbstractDecoder

当我尝试使用 Angular 12 和 Open 层编译我的 Web 应用程序时,如果我尝试使用

行编译代码
import GeoTIFF from 'ol/source/GeoTIFF';

我得到 2 个错误。

Error: node_modules/geotiff/dist-node/geotiffimage.d.ts:67:118 - error TS2304: Cannot find name 'Source'.

我通过向 ol/source/Source 添加导入解决了这个错误。

我在网上搜索时找不到的最后一个错误是

Error: node_modules/geotiff/dist-node/geotiffimage.d.ts:136:100 - error TS2304: Cannot find name 'AbstractDecoder'.

我找不到任何导入方式或任何文档。

我通过 npm install ol 和 npm install @types/ol 安装了 OL,它是一个新项目,所以我不知道为什么会出现这个错误或如何解决它。

任何解决此问题的建议或资源链接将不胜感激

从OpenLayers v6.6.0开始,ol包中包含了TS声明,所以你不再需要安装@types/ol(见发行说明here)。删除软件包应该可以解决您的问题。

我还建议您按照建议 in this Git issuetsconfig.json"compilerOptions" 中设置 "skipLibCheck": true 以避免类型定义的进一步问题。这是一个例子:

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  },
}