Solusinya adalah menggunakan:
delete require.cache[require.resolve(<path of your script>)]
Temukan di sini beberapa penjelasan dasar bagi mereka yang, seperti saya, agak baru dalam hal ini:
Misalkan Anda memiliki example.js
file dummy di root direktori Anda:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
Maka Anda require()
suka ini:
$ node
> require('./example.js')
{ message: 'hi', say: [Function] }
Jika Anda menambahkan baris seperti ini ke example.js
:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
exports.farewell = "bye!"; // this line is added later on
Dan lanjutkan di konsol, modul tidak diperbarui:
> require('./example.js')
{ message: 'hi', say: [Function] }
Saat itulah Anda dapat menggunakan delete require.cache[require.resolve()]
ditunjukkan dalam jawaban luff :
> delete require.cache[require.resolve('./example.js')]
true
> require('./example.js')
{ message: 'hi', say: [Function], farewell: 'bye!' }
Jadi cache dibersihkan dan require()
menangkap konten file lagi, memuat semua nilai saat ini.