这个表达式是不可构造的。类型 'typeof import("jspdf")' 没有构造签名

问题描述 投票:0回答:2

我正在使用jsPDF v1.5.3

我已经导入了这样

import * as jsPDF from 'jspdf'

并且在方法中我有这个

 var doc = new jsPDF('l', 'pt', [175, 91])

但是我在这里有type错误

而且我还声明了@types/jspdf这样的模块

    declare module 'jspdf'{
 
}

我该如何解决这个问题?

typescript vuejs2 nuxt.js jspdf
2个回答
2
投票

不需要此通配符导入:

import * as jsPDF from 'jspdf'

您可以只使用命名导入:

import { jsPDF } from 'jspdf'

如果您仍然想要通配符导入,则必须使用:

new jsPDF.jsPDF(...)

这是多余的😛


0
投票

您似乎面临 TypeScript 识别 jsPDF 正确类型的问题。错误“Type 'typeof import("jspdf")'没有构造签名”表示 TypeScript 将导入的模块视为类型定义(如具有属性的对象),但应将其视为构造函数。

要解决此问题,您需要确保导入语句和模块声明设置正确。您可以采取以下步骤:

更新进口声明: 确保您的导入语句正在从“jspdf”模块导入默认导出。如果“jspdf”将其功能导出为默认导出,则应使用 import jsPDF from 'jspdf';。如果它使用命名导出进行导出,您应该导入您需要的特定名称。

© www.soinside.com 2019 - 2024. All rights reserved.