无法在重新加载时读取vue文件

时间:2018-03-13 11:10:19

标签: webpack vue.js babeljs

我正在使用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/,
  },

编辑:

重现的步骤:

  1. 克隆repo
  2. npm install --save vue-pdf
  3. 将其包含在任何组件中。
  4. 直接导航到路线并引发错误。

1 个答案:

答案 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

希望它有所帮助,或者至少你有一个参考点。