Die Lösungen sind zu verwenden:
delete require.cache[require.resolve(<path of your script>)]
Hier finden Sie einige grundlegende Erklärungen für diejenigen, die wie ich ein bisschen neu darin sind:
Angenommen, Sie haben eine Dummy- example.js
Datei im Stammverzeichnis Ihres Verzeichnisses:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
Dann require()
gefällt dir das:
$ node
> require('./example.js')
{ message: 'hi', say: [Function] }
Wenn Sie dann eine Zeile wie folgt hinzufügen example.js
:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
exports.farewell = "bye!"; // this line is added later on
Und weiter in der Konsole, das Modul wird nicht aktualisiert:
> require('./example.js')
{ message: 'hi', say: [Function] }
Das ist, wenn Sie delete require.cache[require.resolve()]
in Luffs Antwort angegeben verwenden können :
> delete require.cache[require.resolve('./example.js')]
true
> require('./example.js')
{ message: 'hi', say: [Function], farewell: 'bye!' }
Der Cache wird also bereinigt und require()
erfasst den Inhalt der Datei erneut, wobei alle aktuellen Werte geladen werden.