Pregunta ES6 en el navegador: Untaught SyntaxError: importación de token inesperado


Soy nuevo en ES6 (ECMAScript 6), y me gustaría usar su sistema de módulos en el navegador. He leído que ES6 es compatible con Firefox y Chrome, pero obtengo el siguiente error al utilizar 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é?


32
2018-01-18 14:58


origen


Respuestas:


Desafortunadamente, los módulos no son compatibles con muchos navegadores en este momento.

Esta característica recién está empezando a implementarse en los navegadores de forma nativa en este momento. Se implementa en muchos transpilers, como TypeScript y Babel, y en bundlers como Rollup y Webpack.

Encontrado en MDN


21
2018-01-18 15:02



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!


24
2017-08-17 22:37