Maison > interface Web > js tutoriel > Comment puis-je importer avec succès des modules ES6 dans les scripts de contenu de mon extension Chrome ?

Comment puis-je importer avec succès des modules ES6 dans les scripts de contenu de mon extension Chrome ?

Linda Hamilton
Libérer: 2024-12-23 09:23:15
original
740 Les gens l'ont consulté

How Can I Successfully Import ES6 Modules into My Chrome Extension's Content Scripts?

Importation de modules ES6 dans les scripts de contenu d'extension Chrome

Problème : Dans Chrome 63, importation de modules ES6 à l'aide de la syntaxe d'importation/exportation dans un contenu le script donne la syntaxe erreurs.

Solution :

Les extensions Chrome prennent en charge les modules ES6 via une fonction import() dynamique asynchrone :

(async () => {
  const src = chrome.runtime.getURL("your/content_main.js");
  const contentMain = await import(src);
  contentMain.main();
})();
Copier après la connexion

Cependant, cette méthode a limitations :

  • Il peut être bloqué par le service du site worker.
  • La déclaration des scripts importés dans les ressources accessibles au Web du manifeste est requise.

Pour les scripts non-modules, pensez à :

  • Utiliser un script non-module normal -module script.
  • Ajout de son nom à "js" dans "content_scripts" avant votre contenu principal script.
  • Utilisation directe des variables/fonctions globales.

Informations supplémentaires :

  • [Comment utiliser ES6 « import " avec Chrome Extension](https://stackoverflow.com/a/50132415)
  • [Exemple de travail d'importation ES6 dans Chrome Extension](https://github.com/browsers-toolbox/es-import-in-extension)
  • [chrome.runtime.getURL](https://developer.chrome.com/extensions/runtime #method-getURL)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal