Peut être réécrit comme suit : Est-il possible d'utiliser des modules npm dans les extensions Chrome ?
P粉217629009
P粉217629009 2023-08-22 23:09:19
0
2
382
<p>J'ai essayé, mais j'ai obtenu une erreur « l'exigence n'est pas définie ». Je ne trouve pas d'informations sur cette erreur, quelqu'un peut-il me l'expliquer ? </p>
P粉217629009
P粉217629009

répondre à tous(2)
P粉006977956

Réponses mises à jour pour 2022

Réponse courte : Oui, vous pouvez exiger/importer des packages. Plutôt que d'installer et de configurer laborieusement vous-même un outil de packaging comme Webpack (surtout si vous ne les avez pas utilisés), il existe désormais des outils de build que vous pouvez utiliser pour créer du code passe-partout pour les extensions Chrome :

Avantages de leur utilisation :

  • Les nouveaux projets initialiseront une structure de fichiers de projet par défaut, ce qui est très utile.
  • Ils prennent en charge le JavaScript moderne (ES6, ES2021) afin que les modules fonctionnent correctement.
  • Ils ont des outils de packaging intégrés et préconfigurés (je pense que c'était Webpack dans les deux cas ci-dessus). Par conséquent, vous n’avez pas besoin d’installer et de configurer des outils vous-même.
  • Vous pouvez utiliser npm comme d'habitude pour installer tous les packages/dépendances dont vous avez besoin.

Ensuite, bien sûr, laissez-vous guider par la Documentation officielle de l'extension Chrome pour le reste.

P粉803444331

C'est possible, mais il faut être prudent. Tenter d'utiliser require() pour charger un package signifie que Node tentera de localiser ses fichiers dans votre système de fichiers. Les extensions Chrome ne peuvent accéder qu'aux fichiers que vous déclarez dans votre manifeste, pas à votre système de fichiers.

Pour résoudre ce problème, utilisez un outil de regroupement de modules comme Webpack, qui générera un seul fichier JavaScript contenant le code de tous les packages introduits via require(). Vous devez générer un module distinct pour chacune de vos extensions Chrome (par exemple, pages d'arrière-plan, scripts de contenu, popups) et déclarer chaque module généré dans le manifeste.

Pour éviter d'essayer de configurer le système de construction pour rendre require() disponible, je recommande de commencer par un projet passe-partout. Vous pouvez consulter mon extension pour voir comment je procède.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!