React+Vite+TypeScript环境下如何声明Jimp全局类型?
解决React+Vite+TS项目中全局Jimp变量的类型声明问题
一、修正全局类型声明文件
你的src/types/global.d.ts代码需要调整为模块形式(包含import语句的文件必须标记为模块,才能让declare global生效),同时可补充window对象的类型声明:
import type Jimp from "jimp"; declare global { // 声明全局Jimp变量 const Jimp: typeof Jimp; // 若需通过window.Jimp访问,补充Window接口扩展 interface Window { Jimp: typeof Jimp; } } // 标记文件为ES模块,确保全局声明生效 export {};
二、确认TypeScript配置有效性
你的tsconfig.app.json中include字段已包含"src/**/*.d.ts",该配置正确,TypeScript会自动读取此路径下的类型声明文件,无需额外修改。
三、解决ESLint类型识别延迟问题
ESLint服务器不会自动监听类型声明文件的变更,修改后需手动重启服务才能让类型提示生效:
- 在VSCode中按下
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac) - 输入并执行
ESLint: Restart ESLint Server命令
完成以上操作后,全局的Jimp和window.Jimp即可获得正确的类型提示。
内容的提问来源于stack exchange,提问作者Guven Degirmenci
相关产品推荐
相关产品推荐

