Importazione ES2015 non funziona (anche a livello superiore) in Firefox

Questi sono i miei file di esempio:

   Test     

t1.js:

 import Test from 't2.js'; 

t2.js:

 export const Test = console.log("Hello world"); 

Quando carico la pagina in Firefox 46, restituisce “SyntaxError: le dichiarazioni di importazione possono comparire solo al livello superiore di un modulo” – ma non sono sicuro di quanto più alto livello possa essere raggiunto dall’istruzione import. Questo errore è un’aringa rossa e l’importazione / esportazione non è ancora supportata?

In realtà l’errore che hai ottenuto è dovuto al fatto che devi dichiarare esplicitamente che stai caricando un modulo – solo allora è consentito l’uso di moduli:

  

L’ho trovato in questo documento sull’utilizzo dell’importazione ES6 nel browser . Lettura consigliata.

Completamente supportato in quelle versioni del browser (e successive, elenco completo su caniuse.com ):

  • Firefox 60
  • Chrome (desktop) 65
  • Chrome (Android) 66
  • Safari 1.1

Nei browser più vecchi potrebbe essere necessario abilitare alcuni flag nei browser:

  • Chrome Canary 60 – dietro il flag Experimental Web Platform in chrome:flags .
  • Firefox 54 – Impostazione dom.moduleScripts.enabled in about:config .
  • Edge 15 – dietro l’impostazione Experimental JavaScript Features in about:flags .

Ricordiamo ancora che le importazioni ES6 non sono ampiamente supportate , ma sono sicuramente grandi nello sviluppo per risparmiare tempo speso compilando un progetto con il webpack.

Questo non è più preciso. Tutti i browser attuali ora supportano i moduli ES6

Risposta originale qui sotto

Da import su MDN :

Questa funzione non è implementata in nessun browser in questo momento. È implementato in molti transpilers, come il Traceur Compiler, Babel o Rollup.

I browser non supportano l’ import .

Ecco la tabella di supporto del browser:

inserisci la descrizione dell'immagine qui

Se si desidera importare i moduli ES6, suggerirei di utilizzare un transpiler (ad esempio, babele ).