IronPDF for Node.js中的verbatimModuleSyntax错误

This article was translated from English: Does it need improvement?
Translated
View the article in English

在TypeScript项目中使用IronPDF for Node.js时,export语句的生成方式,当其与模块系统冲突时可能导致构建错误。

选项的行为

设置为false(常用选择):TypeScript会重写import和export语句以匹配目标模块系统。 对于CommonJS目标,它将ESM风格的导入(import ... 从 '...') into require() 调用; 对于ESNext目标,它保持ESM语法。

设置为trueTypeScript完全保留import和export语法。 ESM语法继续为ESM,无论目标如何,而如果模块系统不支持它,则会失败。

启用时的错误

使用"verbatimModuleSyntax": true时,CommonJS构建可能会失败:

A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled.
ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.

第一次是因为CommonJS不支持顶层export; 第二个错误是在CommonJS模块中未转换的ESM语法导致的。

推荐

对于大多数项目,请保持选项禁用,以便TypeScript为您调整模块语法:

{
  "compilerOptions": {
    "verbatimModuleSyntax": false
  }
}

如果您需要为特定的打包器或环境严格保留语法,只有在您的模块系统完全支持源代码使用的语法时,才将其设置为true

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
版本: 2026.6 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据?
运行示例看着你的HTML代码变成PDF文件。