二十三、关于vite项目中无法使用minio的解决方案

本文介绍了在Vite项目中因不支持require导入导致无法使用Minio的问题,以及通过创建Vue2子项目,使用webpack打包Minio为library并发布到npm的解决方案。详细步骤包括新建Vue2项目,require导入Minio,lib模式打包,发布npm包,以及如何在原Vite项目中安装和导入使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

项目需要上传大文件,既然是大文件,如果一次性进行读取发送、接收都是不可取的,很容易导致内存问题。所以对于大文件上传,就一定要实现切片上传、断点续传。如果自己实现相对比较麻烦,但好消息是我们的文件服务使用了开源的minio作为对象存储服务,并且minio也提供了 JavaScript Client SDK ,顿时喜出望外,但当我正准备一顿操作时就遇到了问题… 难受至极
image.png

问题分析

分析报错后发现原因是我们的项目使用的是vite进行构建,vite默认使用es6标准的 import 的导入方式,不支持require引入。
所以,需要解决的问题就是如何将minio通过import的方式导入到项目中。

解决思路

第一个最直接的思路:尝试将 require 写法直接改为 import 写法,实践结果失败,原因是 minio 又不支持 import 的导入方式。
第二个思路:既然vite不支持require,但webpack是支持的,可以将minio先通过require导入到一个使用webpack构建的项目,再将此项目引入到我们自己的项目,实践结果成功。

解决方案

最终解决方案为:新建一个vue2项目,将minio通过require方式导入,再进行导出,然后将项目通过lib库模式打包成组件,上传到np

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

arguments_zd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值