无法在HTML页面添加type="module"脚本:jsPDF模块解析错误
解决jsPDF自定义字体模块解析失败的问题
问题根源
你转换生成的字体JS文件是ES模块格式,里面包含了import jspdf from 'jspdf'这类模块导入语句,但你是通过传统<script>标签引入的jsPDF——它会把jsPDF挂载为全局变量,而非ES模块,所以浏览器找不到名为"jspdf"的模块资源,才抛出这个错误。
两种解决办法
办法一:改用ES模块版的jsPDF
替换你当前的jsPDF引入代码,改用支持ES模块的CDN版本:
<script type="module" src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.es.min.js"></script>
之后你的字体模块和业务脚本都保持type="module"格式,浏览器就能正确解析模块导入了。
办法二:修改字体JS文件适配全局变量
打开ZillaSlab-Medium-normal.js,找到开头的模块导入语句,比如:
import { jsPDF } from "jspdf";
把它替换成直接读取全局变量的代码:
const { jsPDF } = window;
修改后可以去掉字体脚本的type="module"属性,或者保留也不影响,此时字体文件会直接使用全局的jsPDF对象。
额外注意
确保你使用的字体转换工具和jsPDF版本匹配,避免因版本差异出现其他兼容性问题。
内容的提问来源于stack exchange,提问作者user19887272
相关产品推荐
相关产品推荐

