Các giải pháp là sử dụng:
delete require.cache[require.resolve(<path of your script>)]
Tìm ở đây một số giải thích cơ bản cho những người, như tôi, là một chút mới trong này:
Giả sử bạn có một example.jstệp giả trong thư mục gốc của thư mục của bạn:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
Sau đó, bạn require()thích điều này:
$ node
> require('./example.js')
{ message: 'hi', say: [Function] }
Nếu sau đó bạn thêm một dòng như thế này vào example.js:
exports.message = "hi";
exports.say = function () {
console.log(message);
}
exports.farewell = "bye!"; // this line is added later on
Và tiếp tục trong giao diện điều khiển, mô-đun không được cập nhật:
> require('./example.js')
{ message: 'hi', say: [Function] }
Đó là khi bạn có thể sử dụng được delete require.cache[require.resolve()]chỉ định trong câu trả lời của luff :
> delete require.cache[require.resolve('./example.js')]
true
> require('./example.js')
{ message: 'hi', say: [Function], farewell: 'bye!' }
Vì vậy, bộ đệm được làm sạch và require()chụp lại nội dung của tệp, tải tất cả các giá trị hiện tại.