Erreurs de syntaxe verbatimModuleSyntax dans IronPDF for Node.js

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

Lorsque vous utilisez IronPDF for Node.js dans un projet TypeScript, l'option du compilateur verbatimModuleSyntax contrôle comment les déclarations import et export sont émises, et cela peut causer des erreurs de construction lorsqu'il y a un conflit avec votre système de module.

Comment l'option se comporte

Défini sur false (le choix le plus courant) : TypeScript réécrit les déclarations d'importation et d'exportation pour correspondre au système de module cible. Avec un objectif CommonJS, il convertit les importations de style ESM (import ... de '...') into require() appels ; avec un objectif ESNext, il conserve la syntaxe ESM.

Défini sur true : TypeScript préserve exactement la syntaxe d'importation et d'exportation telle qu'écrite. La syntaxe ESM reste ESM indépendamment de l'objectif, ce qui échoue lorsque le système de module ne la prend pas en charge.

Erreurs quand elle est activée

Avec "verbatimModuleSyntax": true, une construction CommonJS peut échouer avec :

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.

La première se produit parce que CommonJS ne supporte pas un export de niveau supérieur ; la seconde se produit lorsque la syntaxe ESM reste non transformée pour un module CommonJS.

Recommandation

Pour la plupart des projets, gardez l'option désactivée pour que TypeScript ajuste la syntaxe du module pour vous :

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

Si vous avez besoin d'une préservation stricte de la syntaxe pour un bundler ou un environnement spécifique, réglez-le sur true seulement lorsque votre système de module supporte pleinement la syntaxe utilisée par votre source.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Version : 2026.6 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.