mockjs与报表的排坑

主题

简单来说,鉴于mockjs和接口并存的问题,之前也有处理过,但并未发现什么明显的异常错处,直到涉及到luckysheet关于excel模板的加载问题、排查分析良久,最后把过程分享一下。

最终目的

先看看最终想要呈现的效果,呈现想要的是所见即所得的效果,懒得弄报表系统,总之就是用excel作为源模板,通过easyexcel作为后端数据字符串替换,主要用于数据导出,呈现与显示都以模板作为载体,保证一致性,显示侧会有两种方案:

  1. 直接加载服务处理好的模板替换内容,无需绑定处理,这样处理逻辑与导出一致,整体会比较方便,但针对分页处理会比较麻烦。
  2. 区分所见即所得与导出,绑定由前端页面处理,服务端处理数据查询与导出,过程会麻烦一些,适应于数据体量大,分页显示处理。

过程

使用组件的过程挺波折,原本很Easy就集成了,但是死活报jszip的数据加载解析有问题,如下图

  1. 原本以为是文件读取方面的问题,换了其他文件上传的方式又是正常的,http加载的方式换了很多种,均以失败告终。
  2. 后来单独的用demo试了一下,没啥问题,于是怀疑是不是工程化里面有什么问题,看了一下影响的点除了jszip之外,剩下的就是Mockjs了,于是取消了mockjs的注入,文件的加载引入就正常了。
  3. 看了一些教程说是引入的顺序有问题,于是也做了一些扩展尝试在devServer中加入after扩展引入,但是对写法上有要求必须要求require这种引入写法,放弃了尝试,最后把一些无效mock切换成了接口,问题得以解决。

结束

这段6线开工,有点儿经历不够,后续有时间会继续分享一些处理,可能与之前早先的分享会有延续性、先这这样,顺手抱怨一句,github趋势系列又呈现未过审,不得不终止这个系列的更新。

相关推荐
jt君4242631 分钟前
React Native JSI 深入剖析 — 第 5 部分中文技术整理:用 HostObject 把 C++ 类暴露给 JavaScript
前端·react native
胡萝卜术33 分钟前
滑动窗口最大值:从暴力到单调队列,层层优化全解析
前端·javascript·面试
fluffyox35 分钟前
Notion 的公式栏里,藏着一台虚拟机——逆向 + 用 600 行 JS 复刻它的编译器与栈式 VM
前端
kyriewen2 小时前
2026 年了,这 6 个 npm 包可以卸载了——浏览器原生 API 已经能替代
前端·javascript·npm
Csvn4 小时前
Monorepo 迁移血泪史:从 Multi-Repo 到 Turborepo,这 3 个坑我帮你踩完了
前端
星栈5 小时前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架
用户987409238875 小时前
用 Remotion + edge-tts 打造中文教学视频全自动流水线
前端
风骏时光牛马5 小时前
Less前端工程化实战:变量混合器与项目样式分层落地
前端
假如让我当三天老蒯5 小时前
Options API(选项式 API) 和 Composition API(组合式 API)
前端·vue.js·面试
SameX5 小时前
iOS 独立开发实践:用 MapKit + 像素渲染实现 Citywalk 轨迹地图 App「雁过留痕」
前端