web-dev-qa-db-fra.com

Chrome 61: importation de jeton inattendue

L'exécution de Chrome 61 qui est supposé supporter le chargement de module avec import.

En effet, la démo de Paul fonctionne pour moi. Cependant, lorsque j'essaie moi-même, l'erreur JS «Importation de jeton inattendue» est générée. Chrome semble hésiter à import:

test.html

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

test.js:

import {hello} from './something.js'
console.log(hello())

quelque chose.js

export {hello}
function hello() {
    return "hello world"
}

Pourquoi Chrome ne comprend-il pas "importer"

18
Marc

Pour ceux d'entre vous qui veulent savoir exactement ce qui a fonctionné pour moi, c'était en quelque sorte une combinaison de quelques réponses venant d'en haut. Je devais également activer les capacités d'importation ES6 de Chrome en saisissant chrome: // flags dans la barre d'adresse et en recherchant "import".

D'abord le HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=Edge">
    <title>Testing JavaScript Stuff</title>
</head>
<body>
    <script type="module">
        import { circleArea, squareArea } from './CalcArea.js';

        console.log(circleArea(2));
        console.log(squareArea(2));
    </script>
</body>
</html>

Comme vous pouvez le constater, ajoutez simplement le type "module" à votre balise script, puis effectuez l’importation ci-dessous. Pour mon test, le fichier CalcArea.js est le suivant:

const circleArea = r => 3.14 * (r ** 2);

const squareArea = s => s * s;

export {circleArea, squareArea};
2
David Ayres

Cela devrait être <script type=module src=test.js>. La syntaxe complète est modifiée de manière subtile dans les scripts de module (import et export sont autorisés, ainsi que le mode strict étant obligatoire).

17
Josh Lee

Enfin ... compris. chrome://flags recherche pour import activer la syntaxe d'importation ES6. Redémarrez Chrome. Soyez heureux.

1
flcoder