ES6 dans le navigateur: Uncaught SyntaxError: Unexpected token d'importation

je suis nouveau à ES6 (ECMAScript 6), et je voudrais utiliser ses module de système dans le navigateur. J'ai lu que ES6 est supporté par Firefox et Chrome, mais j'obtiens l'erreur suivante en utilisant export

Uncaught SyntaxError: Unexpected token import

j'ai un test.fichier html

<html>
    <script src="test.js"></script>
<body>
</body>
</html>

et un test.fichier js

'use strict';

class Test {

    static hello() {
        console.log("hello world");
    } 
}

export Test;    

Pourquoi?

41
demandé sur cdarwin 2017-01-18 17:58:46

3 réponses

malheureusement, les modules ne sont pas pris en charge par de nombreux navigateurs en ce moment.

cette fonctionnalité ne fait que commencer à être implémentée nativement dans les navigateurs en ce moment. Elle est implémentée dans de nombreux transpilers, tels que TypeScript et Babel, et dans des bundlers tels que Rollup et Webpack.

Trouvé sur MDN

24
répondu t3h2mas 2017-12-06 13:40:52

vous pouvez essayer les Modules ES6 dans Google Chrome Beta (61) / Chrome Canary.

l'Implémentation de Référence de ToDo MVC par Paul Irish - https://paulirish.github.io/es-modules-todomvc/

j'ai la démo de base -

//app.js
import {sum} from './calc.js'

console.log(sum(2,3));

//calc.js
let sum = (a,b) => { return a + b; }

export {sum};
<html> 
    <head>
        <meta charset="utf-8" />
    </head>

    <body>
        <h1>ES6</h1>
        <script src="app.js" type="module"></script>
    </body>

</html>

j'Espère que ça aide!

32
répondu Roopesh Reddy 2017-08-17 22:37:27

il a travaillé pour moi ajout type="module" au script importing mon mjs:

<script type="module">
import * as module from 'https://rawgit.com/abernier/7ce9df53ac9ec00419634ca3f9e3f772/raw/eec68248454e1343e111f464e666afd722a65fe2/mymod.mjs'

console.log(module.default()) // Prints: Hi from the default export!
</script>

Voir la démo: https://codepen.io/abernier/pen/wExQaa

1
répondu abernier 2018-09-21 13:07:22