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?
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
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!
il a travaillé pour moi ajout type="module"
au script import
ing 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