So importieren Sie ein Modul in es6, dass muss selbst aufrufen/Initialisierung der Funktion/Klasse, bevor Sie importiert werden

Ich Frage mich, was ist die beste Vorgehensweise, um ein Modul importieren die Funktion/Klasse in einem anderen Modul, dass das Modul selbst muss invoke/initialisiert seine eigene Funktion/Klasse vor dem Import in ein anderes Modul? Ich weiß nicht, ob ich konnte meine Frage deutlich genug! So sagen wir es in einem Beispiel.

Dies ist mein Modul:

//myModule.js
class MyModule {
  constructor() {
    //do sth
  }
}

let myModule = new MyModule();

Und dies ist, wie ich, wie der import in ein anderes Modul:

import MyModule from './myModule';

Dies tatsächlich funktioniert! Aber wie Sie sehen können, in der myModule.js Datei, die ich nicht export default meine MyModule Klasse, denn das ist nicht die einzige Sache, die geschieht in der myModule.js Datei! Ich bin auch der Initialisierung der Klasse nach, es zu definieren... (ich weiß selbst, dass wenn ich meine Klasse als export default die Initialisierung würde immer noch funktionieren, während das Modul importiert wird woanders...)

So, ohne Einstellung nichts für den Export im Modul, oder mit der Einstellung der Klasse export default funktioniert alles einwandfrei, wenn das Modul importiert wurde woanders... So weit So gut! Aber ich bin auf der Suche nach einem best-practice-wenn es eins gibt!

So, hier sind meine Fragen in Bezug auf solche Fälle:

  1. Ist es ok, um ein Modul importieren, das nicht irgend etwas für den export?
  2. Ist setzen wir die Klasse als export default, obwohl wir dabei einige weitere Werke außerhalb der Klasse in das Modul (Die Initialisierung der job, das passiert nach der Definition der Klasse)?
  3. Oder vielleicht ist es gut zu tun, die Initialisierung job in einer anderen Funktion und exportieren Sie dann beide, der Klasse und der Funktion, und rufen Sie dann die Funktion für die Initialisierung der job in der importierten Modul?

Vielen Dank an alle! Ich Schätze wirklich jede hilft in Bezug auf diese 🙂

  • "denn das ist nicht das einzige, was passiert ist", sollten Sie nicht halten Sie aus (Standard) exportieren nichts.
  • Brauchen Sie mehrere Instanzen der Klasse?
  • Ich Frage mich, was wenn ich eine factory-Funktion (darin bin ich nicht nur Instanziierung der Klasse, aber auch einige andere Werke), dass ich möchte, dass es selbst aufgerufen. Wie kann ich exportieren, die sich selbst aufrufenden Funktion?
  • Generell Frage ich mich, wie können wir exportieren einer sich selbst aufrufenden Funktion?
  • Fallen die selbst-Aufruf, ES6-Module sind in sich geschlossene sowieso. Führen Sie einfach Ihre Sachen in der Modul-Ebene-Rahmen, die Ergebnisse exportieren.
InformationsquelleAutor Ali | 2016-08-16
Schreibe einen Kommentar