błędy verbatimModuleSyntax w IronPDF for Node.js
Gdy używasz IronPDF for Node.js w projekcie TypeScript, opcja kompilatora verbatimModuleSyntax kontroluje, jak emitowane są instrukcje import i export, i może powodować błędy kompilacji, gdy jest w konflikcie z twoim systemem modułów.
Jak działa opcja
Ustaw na false (powszechny wybór): TypeScript przerabia instrukcje importu i eksportu, aby dopasować je do docelowego systemu modułów. Z celem CommonJS zamienia importy w stylu ESM (import ... z '...') into ` wywołania require(); z celem ESNext zostawia składnię ESM.
Ustaw na true: TypeScript zachowuje dokładnie zapisane syntax importu i eksportu. Składnia ESM pozostaje ESM niezależnie od celu, co nie działa, kiedy system modułów jej nie obsługuje.
Błędy, gdy jest włączona
Przy "verbatimModuleSyntax": true kompilacja CommonJS może zakończyć się błędem:
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.
Pierwsze dzieje się, ponieważ CommonJS nie obsługuje najwyższego poziomu export; drugie zdarza się, gdy składnia ESM pozostawiona jest nieskonwertowana dla modułu CommonJS.
Zalecenie
Dla większości projektów, pozostaw opcję wyłączoną, aby TypeScript dostosował dla ciebie składnię modułów:
{
"compilerOptions": {
"verbatimModuleSyntax": false
}
}
Jeśli potrzebujesz ścisłego zachowania składni dla danego pakietu lub środowiska, ustaw to na true tylko wtedy, gdy twój system modułów w pełni obsługuje składnię używaną przez twój kod źródłowy.
Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.