以下为在 nuxt 框架中完整的使用方法,包括几个情况,本人都踩过坑,现在已经完美可用。
createLoadingTask 分页功能也包括在内
1、安装vue-pdf
npm install --save vue-pdf
或
yarn add vue-pdf
安装完如果报错,需要指定pdfjs-dist版本号
npm install pdfjs-dist@2.7 --save
2、写插件js,plugins目录下新建pdf.js文件
注意:不能直接在文件中引入,会报错
//pdf.js
import Vue from 'vue'
import pdf from 'vue-pdf'
Vue.component('pdf', pdf)
//挂载到全局,用于 createLoadingTask 功能
export default function ({ app, redirect }, inject) {
inject('pdf', pdf);
}
3.nuxt.config.js中添加引入该插件
注意:不能使用服务器渲染,不然会报错,ssr要指定为false
plugins: [{ src: '~/plugins/pdf.js', ssr: false }]
此时所有vue-pdf的功能就能正常使用了,和在vue-cli项目中一样,我这里就不展示了。
注意:调用pdf实例时,通过this.$pdf调用
var pdfUrl = this.$pdf.createLoadingTask('xxx.pdf');