在 pdfjs-dist (PDFJS) 中使用 TypeScript (TSX) 中的方法导入命名空间和接口

Importing namespace and interface with methods in TypeScript (TSX) in pdfjs-dist (PDFJS)

我正在尝试在我的 React 项目中使用 pdfjs-dist,但在尝试导入项目中的模块和函数时遇到了很多问题。

@types/node_modules 中的 pdfjs-dist 模块 index.d.ts 被定义为包含命名空间 "PDF" 和导出 "PDF" 的模块 "pdfjs-dist" .

该文件有接口,其中包含我想从另一个 类.

调用的 "getDocument(name:string)" 等方法

简而言之;该文件由很多接口和通过该接口实现的方法组成,形式为:

declare module "pdfjs-dist" {
  export = PDF;
}

declare namespace PDF {
  interface PDFJSStatic {
    getDocument(
      source: string,
      pdfDataRangeTransport ? : any,
      passwordCallback ? : (fn: (password: string) => void, reason: string) => string,
      progressCallback ? : (progressData: PDFProgressData) => void): PDFPromise < PDFDocumentProxy > ;

  }

我试过使用常规的导入语句,例如:

import * as PDF from "pdfjs-dist"

import { PDFJSStatic } from "pdfjs-dist"

不过,好像反应不是很好。 VS Code 为我提供了所有接口,因此我可以看到它们是什么,但这是我对 React 和 Typescript 的了解有点不足的地方。 我将如何调用这些方法并实际使用 "getDocument()" 方法?

由于某些原因,修复似乎是先导入接口,以便在第 2 行使用 require 语句时可以使用 PDFJSStatic 和其他接口。

我使用的导入语句是;

import { PDFJSStatic, PDFPageProxy } from "pdfjs-dist";
let PDFJS: PDFJSStatic = require("pdfjs-dist");

这可能不是正确的做法,但它确实有效。