目录
问题与解决经过
最近迁移项目到新框架,用上了typescript,结果日常被类型检查搞得不堪其扰,今天测试createjs的时候就遇到了这么一个问题
当即去控制台敲出
pnpm i --save-dev @types/createjs-npm
但是npm告诉我并没有这个包
再敲
pnpm i --save-dev @types/createjs
这次有是有了,但是代码提示并没有出现,因为我使用的是createjs-npm这个包
遂去网上查找,一番搜索后发现如下解法
pnpm i @types/createjs createjs --save
然而使用
import createjs from 'createjs'
vscode告诉我createjs并不是一个模块
又是一番搜索,有人说createjs在window对象上,但是我也没找到,最后选择放弃这个解法
想着@types/createjs这个类型定义文件是没问题的,那么我只需要引用这个类型定义文件给createjs-npm模块就行了
又去深入学习了下d.ts的编写方式,
最终解法如下
pnpm i --save-dev @types/createjs
在项目根目录下的global.d.ts中添加
/// <reference types="createjs" />
declare module 'createjs-npm' {
export default createjs
}
问题解决