低版本pdfjs升级

提高pdfjs版本

起因:因为pdfjs报出来漏洞,之前的旧项目需要修复漏洞要提高pdfjs的版本

环境:vite5.0.0 vue2.7 dist-pdfjs2.8.335 => 4.2.67

旧版本的pdfjs用的是js,新版本为了规范性都是用的mjs,坑就来了

首先是引入

bash 复制代码
import * as pdfjsLib from 'pdfjs-dist'
import workerSrc from 'pdfjs-dist/build/pdf.worker.min.mjs?url' // Vite 特性

这个我试了好多次,才试到这个引入方式

起初:我将写死在public=>static文件夹下了,因为vite打包的时候pdfjs里面的文件路径会hash加密,就找不到对应文件, 我想着写到这里就不会被加密了,找到文件岂不是易容反掌

错误示范

bash 复制代码
import * as pdfjsLib from 'pdfjs-dist'

pdfjsLib.GlobalWorkerOptions.workerSrc = new URL(
        '/static/pdf.worker.min.mjs',
        import.meta.url
      ).toString()

本地确实是跑起来了,结果一到发版,线上环境就开始疯狂报错

到这里就有人会说了,配置nginx不就好了吗,这报错很明显就是content-type不对吗,你对mjs文件配一下default_type application/javascript不就好了吗,不不不,这在Google是可行的,在edge报大坑,查到的原因是 Chromium Edge 对 绝对 URL + ESM Worker 的 MIME 检查更严格。于是我又写了我一开始写的那一串import workerSrc from 'pdfjs-dist/build/pdf.worker.min.mjs?url'结果,edge是行了,Google又开始报大坑

这会子其实接近尾声了,我又跑到nginx配了一波

nginx配置mjs文件

相关推荐
_阿南_4 小时前
项目中新增给AI制定的代码规范
前端·程序员
名字还没想好☜5 小时前
React 实现暗黑模式切换:localStorage 持久化、SSR 首屏闪烁与跟随系统主题
前端·javascript·react.js·ecmascript·react·next.js
自动化监测Learner6 小时前
主流 Web 端地图引擎对比:选型指南与优劣分析
javascript
console.log('npc')6 小时前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型
爱学堂IT分享8 小时前
Cesium可视化系统实战课程-Cesium教程学习
前端
糖墨夕8 小时前
理解大语言模型:Agent 的“大脑”
前端·agent
Rain的Java大神之路8 小时前
JavaWeb开发如何解决跨域问题
java·前端·后端·nginx·web安全·面试·运维开发
cpolar技术支持8 小时前
浏览器也能跑本地 AI:用 Transformers.js + WebGPU 做一个最小推理 Demo,cpolar 给同事远程体验
前端·ai·cpolar·webgpu·transformers.js
计算机毕设定制辅导-无忧学长9 小时前
《基于SpringBoot青年公寓出租管理系统的设计与实现》
java·vue.js·spring boot·青年公寓出租管理系统
计算机魔术师10 小时前
OpenAI 发布 GPT-6 Astra:多项基准刷新纪录, cybersecurity 能力达 Critical 阈值
前端