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!