javascript - uncaught - ES6 en el navegador: Error de sintaxis no capturado: importación inesperada de tokens
uncaught syntaxerror unexpected string import js (4)
Desafortunadamente, los módulos no son compatibles con muchos navegadores en este momento.
Esta característica apenas comienza a implementarse en navegadores nativos en este momento. Se implementa en muchos transpilers, como TypeScript y Babel, y en paquetes como Rollup y Webpack.
Encontrado en MDN
Soy nuevo en
ES6
(ECMAScript 6) y me gustaría usar su
sistema de módulos
en el navegador.
Leí que ES6 es compatible con Firefox y Chrome, pero obtengo el siguiente error al
export
Uncaught SyntaxError: Unexpected token import
Tengo un archivo test.html
<html>
<script src="test.js"></script>
<body>
</body>
</html>
y un archivo test.js
''use strict'';
class Test {
static hello() {
console.log("hello world");
}
}
export Test;
¿Por qué?
Muchos navegadores modernos ahora admiten módulos ES6.
Siempre que importe sus scripts (incluido el punto de entrada a su aplicación) utilizando
<script type="module" src="...">
funcionará.
Eche un vistazo a caniuse.com para más detalles: caniuse.com
Puede probar los módulos ES6 en Google Chrome Beta (61) / Chrome Canary.
Implementación de referencia de ToDo MVC por Paul Irish - https://paulirish.github.io/es-modules-todomvc/
Tengo una demostración básica
//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>
¡Espero eso ayude!
funcionó para mí
agregando
type="module"
al script
import
mis 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>
Ver demostración: https://codepen.io/abernier/pen/wExQaa