从 CDN 加载时 jspdf 不起作用

jspdf doesn't work when loaded from a CDN

我将使用从 **CDN **加载的包(jspdf) **

这是CDN

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>

并且我已经 加载了 它在一个页面中是这样的 :

mounted() {
  if (document.getElementById('myScript')) { return }
  let src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js'
  let script = document.createElement('script')
  script.setAttribute('src', src)
  script.setAttribute('type', 'text/javascript')
  script.setAttribute('id', 'myScript')
  document.head.appendChild(script)
}

我有一个按钮,当你点击时,下面的方法将调用并生成一些pdf。

generateReport() {
  var doc = new jsPDF('l', 'mm', [62, 32])
  const margins = {
    top: 0,
    bottom: 60,
    left: 0,
    width: 122
  }

  doc.fromHTML(this.$refs.print, margins.left, margins.top, {
    width: margins.width
  })

  doc.save('test.pdf')
}

但是 我得到一个错误

那么,我该如何修复这个错误?

如果要使用CDN,可以使用const { jsPDF } = window.jspdf;,如official documentation所示。

即便如此,我仍然推荐NPM包方式(包本身也是如此)。