企业站模板大全,wordpress 微信分享插件,网站建设创意,服装设计师培训学校最近在做项目中遇到了一个项目本地化的问题#xff0c;里面有一个核心的问题是#xff0c;前端需要根据后端返回的压缩包进行压缩包的解析处理。所以前端项目里需要引入这个压缩包#xff0c;这个时候就遇到了很多比较坑的问题#xff0c;因为项目最终是打包成一个dist目录…最近在做项目中遇到了一个项目本地化的问题里面有一个核心的问题是前端需要根据后端返回的压缩包进行压缩包的解析处理。所以前端项目里需要引入这个压缩包这个时候就遇到了很多比较坑的问题因为项目最终是打包成一个dist目录 所以很多方案都不行。 这是之前尝试的几种不行的方案 方案一发起axios请求去请求压缩包这个方案打包后控制台会出现axios跨域的警告问题 方案二使用JsZipUtils 这个插件参考这个文章学习的https://blog.csdn.net/weixin_44356292/article/details/108070643?spm1001.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包的问题了