React项目添加downloadjs依赖后调用报错‘download未定义’求助
解决React项目中使用downloadjs时
'download' is not defined的报错 你碰到的这个编译错误,本质原因很简单:虽然你成功安装了downloadjs库,但没有在用到它的LicenseList.js文件里显式导入这个函数。
两步搞定问题:
- 在组件文件中导入download函数
在LicenseList.js的顶部(其他import语句附近)添加这行代码:
import download from 'downloadjs';
ES6模块系统里,第三方库的方法不会自动成为全局变量,必须手动导入才能在组件内使用,这也是ESLint抛出no-undef错误的核心原因。
- 修复Blob获取的异步问题(额外提醒)
你的代码里还有个小隐患:res.blob()是异步方法,会返回一个Promise,直接赋值给blob拿到的不是实际的Blob对象,会导致下载失败。记得加上await:
async downloadFile(file, url) { const res = await fetch(url); const blob = await res.blob(); // 这里必须加await download(blob, file, "text/plain"); }
做完这两步,重新编译项目应该就能正常运行了。
内容的提问来源于stack exchange,提问作者Jack BeNimble
相关产品推荐
相关产品推荐

