jsPDF 从 1.5.3 升级到 2.5.1 不起作用
jsPDF upgrade from 1.5.3 to 2.5.1 don't work
我使用的是 jsPDF 版本 1.5.3(jspfd.min.js 下载并保存),它每年都运行良好。然而我已经测试了版本 2.5.1(jspfd.min.js 从 unpkg 下载并保存)。这给出了错误:Uncaught ReferenceError: jsPDF is not defined
。这是不可能的,因为 variable/function 肯定存在。对于 1.5.3 版,此错误也应该出现,但事实并非如此。当(使用 2.5.1)我在 Firefox 控制台中调用变量 jsPDF
时,它会自动更改为 jspdf
并显示一个对象。真的调用jsPDF
是错误。当我将脚本中的名称从 new jsPDF
更改为 new jspdf
时,出现错误:Uncaught TypeError: jspdf is not a constructor
。有什么问题?
显然 2.0.0 版中有一些重大更改。
We also changed the name of the global variable to jspdf (lower case)
when using script tags to be consistent with the new es modules format
and named imports/exports.
添加以下行应该可以实现向后兼容性:
window.jsPDF = window.jspdf.jsPDF
您需要导入模块如下:
import { jsPDF } from "jspdf";
对于其他模块格式,请直接查看 repo 文档:https://github.com/parallax/jsPDF,例如:
// Node.js
const { jsPDF } = require("jspdf");
// Globals
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
// ...
我使用的是 jsPDF 版本 1.5.3(jspfd.min.js 下载并保存),它每年都运行良好。然而我已经测试了版本 2.5.1(jspfd.min.js 从 unpkg 下载并保存)。这给出了错误:Uncaught ReferenceError: jsPDF is not defined
。这是不可能的,因为 variable/function 肯定存在。对于 1.5.3 版,此错误也应该出现,但事实并非如此。当(使用 2.5.1)我在 Firefox 控制台中调用变量 jsPDF
时,它会自动更改为 jspdf
并显示一个对象。真的调用jsPDF
是错误。当我将脚本中的名称从 new jsPDF
更改为 new jspdf
时,出现错误:Uncaught TypeError: jspdf is not a constructor
。有什么问题?
显然 2.0.0 版中有一些重大更改。
We also changed the name of the global variable to jspdf (lower case) when using script tags to be consistent with the new es modules format and named imports/exports.
添加以下行应该可以实现向后兼容性:
window.jsPDF = window.jspdf.jsPDF
您需要导入模块如下:
import { jsPDF } from "jspdf";
对于其他模块格式,请直接查看 repo 文档:https://github.com/parallax/jsPDF,例如:
// Node.js
const { jsPDF } = require("jspdf");
// Globals
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
// ...