Moduli e CommonJS ed ESM
SyntaxError: Cannot use import statement outside a module (in package.json without type: module) – Node.js ERR_INCOMPATIBLE_MODULE_TYPE
Node.js interpreta per impostazione predefinita i file .js come moduli CommonJS; se il file contiene istruzioni 'import' o 'export' senza avere '"type": "module"' nel package.json o estensione '.mjs', il motore V8 interrompe l'analisi sintattica.
Cosa significa questo errore?
Node.js interpreta per impostazione predefinita i file .js come moduli CommonJS; se il file contiene istruzioni 'import' o 'export' senza avere '"type": "module"' nel package.json o estensione '.mjs', il motore V8 interrompe l'analisi sintattica.
Messaggio originale
SyntaxError: Cannot use import statement outside a module (in package.json without type: module)Contesto e parole chiave
Alias
- Cannot use import statement outside a module Node.js package
Messaggi alternativi
- istruzione import usata fuori da un modulo package.json CommonJS
Prodotti
- Node.js Runtime (v18 LTS, v20 LTS, v22 LTS, v24)
Piattaforme
- Linux
- macOS
- Windows
Parole chiave
- ERR_INCOMPATIBLE_MODULE_TYPE
- errore-nodejs-cannot-use-import-statement-commonjs-package
- javascript-backend
- Moduli e CommonJS ed ESM
- node
- nodejs
- nodejs.moduli.err-incompatible-module-type
Cause possibili
Origine del problema per Errore Node.js: Cannot use import statement outside a module
Node.js interpreta per impostazione predefinita i file .js come moduli CommonJS; se il file contiene istruzioni 'import' o 'export' senza avere '"type": "module"' nel package.json o estensione '.mjs', il motore V8 interrompe l'analisi sintattica.
molto comuneDiagnosi
Diagnostica di runtime o stack trace per Errore Node.js: Cannot use import statement outside a module
Eseguire Node.js con i flag diagnostici (--trace-warnings --trace-uncaught) per visualizzare l'origine dettagliata dell'eccezione.
Come leggere il risultato. Evidenzia il modulo esatto, la riga e lo stack trace della chiamata asincrona in errore.
node --trace-warnings --trace-uncaught app.jsRisoluzione
Risoluzione per Errore Node.js: Cannot use import statement outside a module
Applicare la correzione al codice sorgente Node.js o alla configurazione del package.json / sistema operativo.
- Ispezionare la riga evidenziata dal codice di errore o stack trace
- Aggiornare la sintassi di import/export, la gestione degli stream o le chiamate di rete
- Riavviare il processo Node.js o il demone di produzione (PM2/systemd) per verificare la correzione
node app.jsDomande frequenti
Come risolvere l'errore Errore Node.js: Cannot use import statement outside a module in Node.js?
Node.js interpreta per impostazione predefinita i file .js come moduli CommonJS; se il file contiene istruzioni 'import' o 'export' senza avere '"type": "module"' nel package.json o estensione '.mjs', il motore V8 interrompe l'analisi sintattica.
Approfondimenti
- Node.js Official Documentation / Node.js Errors Reference documentazione_ufficiale