Schreiben eingebetteten Javascript-plugin, Reagieren & Webpack

Ich möchte in der Lage zu bündeln, Reagieren meine app mit Webpack, so dass verteilte Kopien auf ein CDN bezogen werden können, aufgerufen und initialisiert mit ein paar config relevant für einen client.

Nach der Lektüre diese und diese, ich werde mein webpack Eintrag Datei wie folgt:

//... React requires etc.

(() => {
  this.MyApp = (config) => {
    //some constructor code here
  }

  MyApp.prototype.init = () => {
    ReactDOM.render(<MyReactApp config={MyApp.config} />, someSelector);
  }
})();

Die Idee, dass in meinem client, ich kann etwas tun, wie die folgenden:

<script src="./bundle.js" type="text/javascript"></script>
<script type="text/javascript">
  MyApp.init({
    some: "config"
  });
</script>

Und meine MyApp#init Funktion machen wird, Reagieren meine app in einige container auf dem client.

Bin ich über dieses denken in der richtigen Weise? Gibt es eine einfachere oder effizientere Weg zu gehen über diese?

Mein Fehler ist Uncaught TypeError: Cannot set property 'MyApp' of undefined, da this im inneren des IIFE ist undefined. Ich würde wirklich gerne verstehen, warum dies geschieht und Ratschläge, wie, um es zu beheben.

Vielen Dank im Voraus!

InformationsquelleAutor mattsch | 2016-05-15
Schreibe einen Kommentar