A differenza di CommonJS che risolveva automaticamente 'index.js' all'interno di una directory, la specifica ES Modules di Node.js vieta l'import di directory ('import x from "./models"'); richiede di specificare il file completo ('./models/index.js').
ERR_UNSUPPORTED_DIR_IMPORT
→
Su Windows, passare un percorso assoluto con backslash ('C:\path\file.js') a un'istruzione di importazione ESM fallisce perché il loader richiede uno schema URL ('file:///C:/path/file.js') o l'uso di 'pathToFileURL()' del modulo url nativo.
ERR_UNSUPPORTED_ESM_URL_SCHEME
→
L'esecuzione di codice tramite 'vm.runInContext()' o 'new vm.Script()' che include chiamate ad 'import()' dinamico fallisce a meno di definire esplicitamente l'opzione 'importModuleDynamically'.
ERR_VM_DYNAMIC_IMPORT_UNSUPPORTED
→
Nel formato ES Module le variabili speciali di CommonJS ('module.exports' e 'exports') non esistono; per esportare dati occorre utilizzare la sintassi standard 'export default' o 'export const'.
EXPORTS_NOT_DEFINED_ESM
→
Nei moduli ESM l'importazione di un file JSON richiede obbligatoriamente l'attributo di tipo di sicurezza: 'import data from "./data.json" with { type: "json" };' (o la sintassi precedente 'assert { type: "json" }').
ERR_IMPORT_ASSERTION_TYPE_MISSING
→
Quando due file si richiedono reciprocamente con 'require()', CommonJS restituisce un oggetto 'module.exports' incompleto o vuoto se il secondo file tenta di accedere a una proprietà prima che il primo abbia concluso la sua esecuzione.
CIRCULAR_DEP_EMPTY_EXPORTS
→
La funzione 'require()' non è disponibile nei moduli ES nativi; per importare file è necessario usare 'import ... from' oppure creare una funzione require personalizzata con 'createRequire(import.meta.url)'.
REQUIRE_NOT_DEFINED_ESM
→
Si verifica quando la libreria esporta file tramite pattern wildcard ('"./components/*": "./dist/components/*.js"') e l'importatore utilizza un nome che non coincide con la struttura interna dei file compilati.
ERR_PACKAGE_PATH_NOT_EXPORTED_PATTERN
→