zouyaoji / vue-cesium

🎉 Vue 3.x components for CesiumJS.
https://zouyaoji.top/vue-cesium
MIT License
1.49k stars 321 forks source link

[Bug Report] TS2503: Cannot find namespace 'h337' #137

Closed YaoaY closed 2 years ago

YaoaY commented 2 years ago

VueCesium version

3.0.3

OS/Browsers version

Windows 10

Vue version

3.2.25

Cesium version

1.88.0

Reproduction Link

https://github.com/YaoaY/vue-cesium-issue

Steps to reproduce

用 Vite 创建全新 Vue3 项目: npm init vite@latest <project-name> --template vue

安装 vue-cesium , npm install vue-cesium@next --save

按官网说明完整引入,进行构建时出错。

npm run build ✖

What is Expected?

完成构建

What is actually happening?

npm run dev ✔ 运行没问题,但是

npm run build ✖ 提示:

node_modules/vue-cesium/Cesium.d.ts:58:23 - error TS7006: Parameter 'type' implicitly has an 'any' type.

58     addEventListener?(type, listener, useCapture): void
                         ~~~~

node_modules/vue-cesium/Cesium.d.ts:58:29 - error TS7006: Parameter 'listener' implicitly has an 'any' type.  

58     addEventListener?(type, listener, useCapture): void
                               ~~~~~~~~

node_modules/vue-cesium/Cesium.d.ts:58:39 - error TS7006: Parameter 'useCapture' implicitly has an 'any' type.

58     addEventListener?(type, listener, useCapture): void
                                         ~~~~~~~~~~

node_modules/vue-cesium/Cesium.d.ts:7140:17 - error TS7006: Parameter 'options' implicitly has an 'any' type. 

7140     constructor(options?)
                     ~~~~~~~~

node_modules/vue-cesium/es/utils/types.d.ts:216:40 - error TS2503: Cannot find namespace 'h337'.

216 interface HeatmapConfiguration extends h337.HeatmapConfiguration {
                                           ~~~~

node_modules/vue-cesium/lib/utils/types.d.ts:216:40 - error TS2503: Cannot find namespace 'h337'.

216 interface HeatmapConfiguration extends h337.HeatmapConfiguration {
                                           ~~~~

Found 6 errors

在 tsconfig.json 设置 "noImplicitAny": false,可以消除 xxx implicitly has an 'any' type 错误。

重点是 Cannot find namespace 'h337' ,看起来在 utils/types.d.ts 里缺少了引入? import { h337 } from 'heatmap.js'

zouyaoji commented 2 years ago

好的,感谢反馈并修复。 你着急吗,我准备写个示例项目,全面测测ts的项目没问题了再发布新版本。

YaoaY commented 2 years ago

👍 不着急,暂时不上CI,修改文件手动发布就行。