web-dev-qa-db-fra.com

'Identifiant inattendu' lors de la tentative d'importation de modules dans Chrome

Je développe une extension Chrome qui utilisera certains scripts d'arrière-plan. J'ai pensé qu'il serait intéressant d'utiliser des modules depuis que Google a récemment ajouté une prise en charge native pour eux.

Cependant, j'obtiens une erreur "Uncaught SyntaxError: Unexpected identifier" lorsque je tente d'importer un module. Les erreurs pointent vers la ligne de code où l'importation est écrite. Voici un exemple:

Dans main.js:

import test from './test.js';

Dans test.js:

export default function test () {
  console.log('this is a test.');
}

J'ai essayé divers autres formats, mais aucun ne fonctionne. Fait intéressant, la dernière fonction d'importation de Chrome ("fichier.js") fonctionne très bien. Cependant, je cherche un moyen d'importer des modules sans utiliser de promesses.

Suis-je en train de faire quelque chose de mal, ou ne suis-je simplement pas censé utiliser des modules dans Chrome Extensions?

Merci d'avance.

9

Si vous obtenez une erreur indiquée ci-dessous lors de l'utilisation de l'importation (module ES6).
enter image description here

Vous devez informer le navigateur en utilisant le type="module" dans la balise de script que vous utilisez dans le fichier HTML. Utilisez ceci pour lier votre fichier js en HTML

<script type="module" src="./main.js"></script>

9
Ankit Sinha

Vous devez ajouter type='module' au main.js ligne d'importation

regardez ceci module ES6 Import donnant "Uncaught SyntaxError: Unxpected identifier"

0
Kaibo