我正在使用vue-pdf和vue-server-renderer。在内部浏览页面时,它工作正常,但在重新加载时,webpack无法在vue-pdf模块中读取.vue文件。
vue-pdf/src/vuePdfNoSss.vue:1
(function (exports, require, module, __filename, __dirname) { <style src="./annotationLayer.css"></style>
^
SyntaxError: Unexpected token <
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:599:28)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function._load (/Users/aditya/rentomojo/node_module
Webpack配置
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
},
编辑:
重现的步骤:
答案 0 :(得分:0)
您的问题是 vue-pdf未由vue-loader处理
根据这个库的官方文档,这个确切的行为有一个开放的错误:
Webpack#13
不处理组件
确切的错误。您可以查看:https://github.com/FranckFreiburger/vue-pdf/issues/13
你应该帮助解决它,或者等到它解决了。
同时你可以尝试:
更新到v2 版本的vue-pdf(似乎工作正常)
检查您是否仅使用数字呈现pdf(根据文档,只有数字会中断)。
<强>替代强>
由于你有webpack,你可能最好将pdfjs-dist安装到节点模块中(参见pdfjs-dist),然后将它从你现有的地方删除。
npm install pdfjs-dist
如果这样做,导入更“标准”,
import { PDFJS } from 'pdfjs-dist'
试试这是否正常。
(摘自此处:Vue: use a custom libary (pdf.js) in a component)
希望它有所帮助,或者至少你有一个参考点。