当前位置: 首页 > article >正文

vue项目中如何引入zip压缩包之解决方案

最近在做项目中遇到了一个项目本地化的问题,里面有一个核心的问题是,前端需要根据后端返回的压缩包进行压缩包的解析处理。所以前端项目里需要引入这个压缩包,这个时候就遇到了很多比较坑的问题,因为项目最终是打包成一个dist目录,
所以很多方案都不行。
这是之前尝试的几种不行的方案:
方案一:发起axios请求去请求压缩包,这个方案打包后,控制台会出现axios跨域的警告问题;
方案二:使用JsZipUtils 这个插件,参考这个文章学习的,https://blog.csdn.net/weixin_44356292/article/details/108070643?spm=1001.2014.3001.5501,方案本地服务器确实可以实现,不过打包后,还是会通过发请求的方式去请求zip包,最后也会出现报跨域的错误,所以也是不行
方案三:通过webpack 插件配置,配置允许zip包引入,这种方案也行不通
方案四:通过一个webpack插件,忽略某个目录下的文件,把zip包放在一个自定义目录下,然后配置下,忽略打包自定义这个目录,结果还是不行,因为webpack打包机制的问题,只要是用import,或者require的写法引入的文件,都会被打包进去,但是博主的需求是需要动态替换这个压缩包,这就无法满足需求了

想了很久,最后的方案还是不行,就在这时,灵光一动,在想把zip包转成base64 字符串,通过在index.html中script标签js引入的方式来绕过webpack打包的机制,zip包也是通过字符串的方式放到js中,再动态引入,引入后,把base64转成ArrayBuffer文件流,就可以了

最后打包后,动态去替换压缩包这个js文件,index.html文件刷新后也是能展示最新的结果,这样就完成了静态目录下动态引入zip包的问题了 !


http://www.kler.cn/a/161668.html

相关文章:

  • 图论-代码随想录刷题记录[JAVA]
  • makefile 设置动态库路径参数
  • Tomcat 和 Netty 的区别及应用场景分析
  • HTTP 客户端怎么向 Spring Cloud Sleuth 传输跟踪 ID
  • 【vue2.0入门】vue基本语法
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(一)
  • html和css写去哪儿导航条
  • CefSharp 获取POST(AJAX)、GET消息返回值(request)
  • “低代码开发:快餐大厨还是魔术棒?探寻软件开发的诙谐世界“
  • ZooKeeper学习一
  • Verilog学习 | 用initial语句写出固定的波形
  • 《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架
  • Amazon CodeWhisperer 正式发布可免费供个人使用
  • 【Flink系列五】Checkpoint及Barrier原理
  • CCF刷题记录 -- 202305-2:矩阵运算 --python解法
  • 【每日一题】—— D. Divide and Equalize(Codeforces Round 903 (Div. 3))(数学、数论)
  • 12.07
  • Hadoop学习笔记(HDP)-Part.19 安装Kafka
  • Win10 安装.NET Framework 3.5 报错0x80240438
  • 利用 Python 进行数据分析实验(四)
  • log4j日志框架的使用
  • 【redis笔记】分布式锁
  • 在 CentOS 或 Red Hat 系统上安装 Citus 组件
  • Gateway
  • Hive增强的聚合、多维数据集、分组和汇总
  • 动手学深度学习——Anaconda、pytorch、paddle安装(cpu版本)