vue-pdf修改worker.js默认打包在根目录

1,763 阅读1分钟

vue-cli3 下 vue-pdf 打包 work.js引入失败跨域 node包修改引用

vue-pad/src/vuePdfNoSss.vue

<style src="./annotationLayer.css"></style>
<script>

	import componentFactory from './componentFactory.js'
	import PdfjsWorker from 'pdfjs-dist/es5/build/pdf.worker.js'//修改这
	if ( process.env.VUE_ENV !== 'server' ) {

		var pdfjsWrapper = require('./pdfjsWrapper.js').default;
		var PDFJS = require('pdfjs-dist/es5/build/pdf.js');

		if ( typeof window !== 'undefined' && 'Worker' in window && navigator.appVersion.indexOf('MSIE 10') === -1 ) {

			// var PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');//注释这
			PDFJS.GlobalWorkerOptions.workerPort = new PdfjsWorker();
		}

		var component = componentFactory(pdfjsWrapper(PDFJS));
	} else {

		var component = componentFactory({});
	}

	export default component;
</script>

vue.config.js

chainWebpack: (config) => {
    config.resolve.alias
      .set("@", resolve("src")) // key,value自行定义,比如.set('@@', resolve('src/components'))
      .set("_c", resolve("src/components"));

    // 加上这
    config.module
      .rule("worker")
      .test(/\.worker\.js$/)
      .use("worker-loader")
      .loader("worker-loader")
      .options({
        inline: true,
        fallback: false,
      })
      .end();
  },