# 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:
```txt
A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled.
```
```txt
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:
```json
{
"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.
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.
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.
ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled.
Text
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:
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.