IronPDF for Node.js中的verbatimModuleSyntax錯誤

Curtis Chau
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熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

閱讀更多

準備好開始了嗎?

版本:2026.11剛剛發布