2015-08-31 8 views
5

ich mein Modul wie dies mit REPL mich entschieden:Reload-Module im laufenden Betrieb in Knoten REPL

repl.start({ 
    input: process.stdin, 
    output: process.stdout 
}) 
    .context.MyModule = MyModule; 

Gibt es eine Möglichkeit, das Modul automatisch neu zu laden, wenn ich und speichern Sie es ändern, ohne verlassen zu müssen und wieder laufen?

Antwort

1

Sie können das Modul chokidar verwenden und das erneute Laden erzwingen (Sie verlieren den Laufzeitkontext im Modul, aber es sollte automatisch neu geladen werden).

Wenn das nicht funktioniert, bin ich glücklich, damit ein wenig zu spielen und eine funktionierende Lösung zu bekommen.


edit: wenn es nicht sauber Müll einsammeln hat (es gibt keine offenen Handles/Hörer), wird diese jedes Mal auslaufen es neu lädt. Möglicherweise müssen Sie eine "clean-exit" -Funktion zu MyModule hinzufügen, um alles ordnungsgemäß zu stoppen, und rufen Sie das dann im Überwachungshandler auf.

Verwandte Themen