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"
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};
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).
Enfin ... compris. chrome://flags
recherche pour import
activer la syntaxe d'importation ES6. Redémarrez Chrome. Soyez heureux.