SvelteKit项目构建时ImgurClient不是构造函数问题及解决
解决SvelteKit+Vite+TypeScript项目中Imgur非官方库构建报错问题
问题背景
我在基于SvelteKit、Vite和TypeScript的项目里,要实现图片上传到Imgur的功能,一开始用了某个非官方Imgur库。开发环境下npm run dev完全正常,但执行npm run build打包时,直接抛出TypeError: ImgurClient is not a constructor错误,报错位置正好是初始化ImgurClient实例的代码段。
一开始跟着Vite生产构建的教程调整配置,尝试了各种部署前的检查,但都没解决问题,最后排查确认是这个非官方库本身存在构建兼容的bug。
解决方法
直接弃用这个有问题的非官方库,改用原生方式调用Imgur官方API来实现图片上传功能。以下是一个简单的实现示例:
// 图片上传至Imgur的API调用示例 async function uploadImageToImgur(imageFile: File, clientId: string): Promise<string | null> { const formData = new FormData(); formData.append('image', imageFile); try { const res = await fetch('https://api.imgur.com/3/image', { method: 'POST', headers: { 'Authorization': `Client-ID ${clientId}` }, body: formData }); const data = await res.json(); if (data.success) { return data.data.link; // 返回上传后的图片链接 } throw new Error(data.data.error); } catch (err) { console.error('图片上传失败:', err); return null; } }
内容的提问来源于stack exchange,提问作者martini47
相关产品推荐
相关产品推荐

