IronPDF for Node.js中的verbatimModuleSyntax错误
在TypeScript项目中使用IronPDF for Node.js时,export语句的生成方式,当其与模块系统冲突时可能导致构建错误。
选项的行为
设置为false(常用选择):TypeScript会重写import和export语句以匹配目标模块系统。 对于CommonJS目标,它将ESM风格的导入(import ... 从 '...') into require() 调用; 对于ESNext目标,它保持ESM语法。
设置为true:TypeScript完全保留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。





