我正在尝试编译第三方模块pdfassembler
,以在编译结果中包括import
语句当前引用的require
的来源。
src/pdfassember.ts
文件具有例如
import { PDFDocument } from 'pdfjs-dist/lib/core/document';
将其导入而不是导入
require('/Users/.../pdfassembler/node_modules/pdfjs-dist/lib/core/document.js')
...而不是源代码。
运行tsc --traceModules
可以得到
=========模块名称'pdfjs-dist / lib / core / document'已成功解析为'/ Users / bmh / Repos / pdfassembler / node_modules / pdfjs-dist / lib / core / document。 js”。 ========
目前尚不清楚如何包括进口。 Typescript文档on module resolution没有提供说明为什么可能会发生这种情况的信息。 (在撰写本文时,typescriptlang.org已关闭)
我希望这是"import vs require"问题的一种,但是那里提供的答案并未指出任何明显的解决方案。
导入的PDF.js具有一个@types/pdfjs-dist
,在我看来这可能是可用的,但尚不清楚如何使用。
一个理想的答案将表明如何在不使用任何require
语句的情况下编译pdfassembler,但通常了解Typescript在做什么/期望以及如何解决此类问题会很有用。
答案 0 :(得分:2)
如果要将多个模块合并到一个文件中,则需要使用模块打包器,例如Webpack,Rollup或Browserify。模块捆绑不在TypeScript编译器的范围内。 (TypeScript的模块解析功能的唯一目的是支持IDE中的类型检查和代码导航。)