0
votes

Webpack Comment faire du module de shim enveloppé dans la fermeture de la fenêtre?

J'ai du code 3ème partie qui est exporté avec des intentions de navigateur uniquement. Il est enveloppé dans une fonction auto-invoquant qui s'attend à ce que fenêtre code> soit passé.

(function (window) { "use strict";
   window['module'] = {}
})(window);


1 commentaires

Ceci est comme seulement le début de vos problèmes. Mais, il y a beaucoup d'options là-bas comme celui-ci: npmjs.com/package/window


3 Réponses :


1
votes

à moins que l'auteur met à jour son code à UMD (ou Similaire), il n'y aurait aucun moyen de Exiger / Importer IT.

Je ne peux pas penser à une manière que vous pourriez réellement faire fonctionner sans la modification de l'auteur .

Bien que, avec l'aide de Le package de la fenêtre Vous pouvez utiliser Le truc suivant: xxx

mais cela ne fonctionnerait que si l'auteur n'utilisait aucune autre variables globales (par exemple, fetch au lieu de fenêtre.fetch ruinerait l'astuce).


3 commentaires

Heureusement, il semble qu'il n'y a pas d'utilisation de la fenêtre . Propriétés


Je pense que cette solution peut fonctionner. Malheureusement, nécessite ("my_module") ne renvoie rien à l'absence d'exportation. Je crois qu'il y a une étape de configuration WebPack pour l'inclure directement qui manque


Oh je suis mal mon mauvais j'ai complètement oublié ça, je vais éditer ça tout de suite



0
votes

Une alternative à essayer d'exiger / importer à partir de la fenêtre est de le décréter après vos déclarations d'importation. Cela vous donne une sensation importante sans sauter à travers des cerceaux.

// Normal Imports
import Foo from "Foo";

// Globals from window
const {
  Bar
} = window;


0 commentaires

1
votes

J'ai pu y parvenir en utilisant le Imports-charger-loader et exportations-chargeur xxx


0 commentaires