Aggiornamento estate 2017:
Vedi http://caniuse.com/#search=modules, il nuovo supporto, forse bisogno di cambiare impostazioni.
Ora che le cose sono meno vaghe. Per far funzionare un modulo devi dire al browser che è che si tratta di un modulo (l'altro è uno script). Il primo modo è implicito, un modulo importato è sempre un modulo. Il secondo modo è con modulo tipo <script src="anymodule.js" type="module"></script>
Assicurarsi importazione e di esportazione sono solo a livello superiore, non all'interno di un blocco, non all'interno di un'istruzione if, non all'interno di un ciclo, ecc
assicurarsi anche a fornire il percorso completo (incluso .js), dovrebbe iniziare con ./
o ../
. Supponendo che i file si trovino nella stessa cartella, sarebbe import { cube, cubeRoot } from './functions.js';
eval
su una stringa di modulo non funzionante.
risposta obsolete di seguito:
L'importazione del modulo ES2015 e la sintassi di esportazione non è supportato da tutti i browser, al momento che scrivo questa risposta (04/2016). Manca il messaggio di errore perché implica che la sintassi è supportata, ma non è supportata affatto. Vedere la prima nota qui https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
Il motivo è perché le specifiche per i caricatori di moduli sono ancora in corso. Vedi https://whatwg.github.io/loader/#status
Sono tuttavia strumenti per il polyfill o per traspolare automaticamente questa sintassi come babel.
fonte
2016-04-05 16:39:54
'function' è un file o un modulo? Forse hai bisogno di 'import {...} da './Functions''? –
Sei sicuro di non avere un paio di parentesi graffe ineguagliate? È questo il tuo codice esatto? Puoi mostrarci la configurazione esatta e come la stai trasponendo? – Bergi
È questo l'intero messaggio di errore? Hai qualche numero di linea o giù di lì? – Bergi