A.项目中有pdf在线预览,打印功能。其中pdf在线预览时,中文乱码,设置了后端返回的格式为blob ,但是也不起作用。最后研究发现是用的vue-pdf 插件,这个插件本身有bug。
因为项目上线一直使用的vue-pdf 所以暂时不考虑更换插件。给插件官方提问题,等修复周期又比较长,薪需求等着上线。因此我们只能修改vue-pdf 源码,找到node_modules 修改一下源码。修改后,我们还要考虑怎么部署到服务器上,手动打包dist并放到服务器上显然是不明智的选择。运维说不能因为修改了源码,就放弃自动化部署。
因此我们需要下载patch-package这样一个插件,他可以说是专门管理npm上的插件,通过npx patch-package vue-pdf命令可以在项目根目录下生成patch 文件,里边包含修改前后的对比文件,一目了然
1.npm i patch-package
2.修改package.json,新增命令postinstall:
"scripts": {
- "postinstall": "patch-package"
}
3.修改 node_modules 下的代码 。例如vue-pdf
4.npx patch-package vue-pdf
这样就可以了。
B 例如我们项目中有一个动态table,列头非常长,单行数据非常多,所以就导致我们首次渲染时很浪费时间
解决方案:我们一开始只显示span 文字和例如下拉箭头,当我们鼠标真正click时 再变成真实的select 或者日期控件。