IronPDF for Node.js中的verbatimModuleSyntax錯誤
Curtis Chau
Updated: 2026年6月29日
當您在TypeScript專案中使用IronPDF for Node.js時,verbatimModuleSyntax編譯器選項控制import和export語句的產生方式,而當它與您的模組系統衝突時可能會導致構建錯誤。
選項的行為方式
設置為false(常見選擇): TypeScript重寫import和export語句以符合目標模組系統。 針對CommonJS目標,它會將ESM風格的import轉換為(import ... from '...') 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.
Text
ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
Text
第一個發生是因為CommonJS不支持頂層export; 第二個發生是當ESM語法未轉換並用於CommonJS模組時。
建議
對於大多數專案,保持選項禁用,以便TypeScript為您調整模組語法:
{
"compilerOptions": {
"verbatimModuleSyntax": false
}
}
JSON
如果您需要為特定打包器或環境嚴格保留語法,僅在模組系統完全支持您的源程式碼語法時,設置為true。

技術作家
Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
...
閱讀更多