如何在 React 项目中使用 jspdf CDN

How to use jspdf CDN in a react project

我正在开发一个必须生成 PDF 文件的 ReactJS 应用程序。我想使用 jspdf,所以我将以下行添加到 index.html

的 header
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js"></script>

然后我转到包含我的实际组件的 javascript 文件,我写了

var pdf=new jsPDF();

获取错误:“jsPDF is not defined”。所以我在包含组件的文件顶部添加了这一行:

import {jsPDF} from 'jspdf';

这导致了 npm 错误 Module not found: Can't resolve 'jspdf' in 'C:\my-app\src'。那么我应该在 React 中使用 CDN 吗?

在您转译代码时,您的节点环境对包含在最终页面中的 jsPDF 一无所知。你需要忽略这个。

将其定义为 global。将此注释放在 JS 文件的顶部:

/* global jsPDF */

另一种解决方案是将 jsPDF 替换为 window.jsPDF,如本例所示:

var pdf=new window.jsPDF();