关于运行项目时 vue-pdf 插件依赖报错的问题及解决办法
vue-pdf 依赖报错原因
最近在运行项目时出现报错 vue-pdf
报错,说是某依赖未找到或路径错误,仔细寻找后发现了报错原因,并为此找了不少文章,此处给出大佬链接 vue项目升级后vue-pdf依赖报错。
首先先说一下报错原因,那就是因为版本不同造成的问题。
比如我最早用的版本是4.0.7 后来安装依赖包的时候不小心将其升级到了4.2.0,然后就报错了。我们来看一下他们的区别:
注意看vue-pdf依赖包下的/src/pdfjsWrapper.js 和 /src/vuePdfNoSss.vue (路径为相对的 具体路径应该都差不多)里的引用:
4.0.7版本是这样的 :
import { PDFLinkService } from 'pdfjs-dist/web/pdf_viewer';
var PDFJS = require('pdfjs-dist/build/pdf.js');
var PdfjsWorker = require('worker-loader!pdfjs-dist/build/pdf.worker.js');
而 4.2.0 版本是这样的:
import { PDFLinkService } from 'pdfjs-dist/es5/web/pdf_viewer';
var PDFJS = require('pdfjs-dist/es5/build/pdf.js');
var PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');
他们的区别就是中间路径多了个es5/
然而4.2.0版本的依赖版内并没有es5
这个文件夹导致报错。
尝试的解决办法
一: 我尝试手动修改依赖包的文件路径,然而这种方法会导致别的报错,并且如果上线可能还会报错,重新下载依赖包时还是需要手动修改,治标不治本,所以不推荐。
二: 下载更稳定的低版本插件,比如我下载了4.0.7版本的vue-pdf
就可以正常使用了。 需要注意的是 如果没有uninstall
原有的报错版本,可能需要手动修改项目根目录下的package.json
的版本号。所以建议先卸载报错版本再安装稳定版本。
卸载指令:npm uninstall vue-pdf
下载指令:npm install vue-pdf@4.0.7
(4.0.7为版本号,需要哪个版本的就写哪个版本的)
使用淘宝镜像的朋友可以用cnpm
替换npm
总结
部分插件和第三方库会发布一些试用版本的插件,往往这些插件容易出现BUG,需要发布者查漏补缺。为了项目的稳定,我们可以下载一些较低版本的稳定插件,避免因为版本出现BUG。
如果有关于该方面的问题,我们可以互相交流,共同进步。
希望诸位都能成为大佬,所以未来的大佬,不点个赞么 ☺