Tôi có một câu hỏi liên quan đến tài liệu node.js về bộ nhớ đệm mô-đun :
Các mô-đun được lưu vào bộ nhớ đệm sau lần đầu tiên chúng được tải. Điều này có nghĩa là (trong số những thứ khác) rằng mọi lệnh gọi yêu cầu ('foo') sẽ nhận được chính xác cùng một đối tượng được trả về, nếu nó phân giải thành cùng một tệp.
Nhiều lệnh gọi yêu cầu ('foo') có thể không khiến mã mô-đun được thực thi nhiều lần. Đây là một tính năng quan trọng. Với nó, các đối tượng "đã hoàn thành một phần" có thể được trả về, do đó cho phép tải các phụ thuộc bắc cầu ngay cả khi chúng gây ra chu kỳ.
Có nghĩa là gì với may?
Tôi muốn biết nếu request sẽ luôn trả về cùng một đối tượng. Vì vậy, trong trường hợp tôi yêu cầu mô-đun A trong app.jsvà thay đổi đối tượng xuất khẩu bên trong app.js( đối tượng yêu cầu trả về) và sau đó yêu cầu mô-đun B trong app.jsđó bản thân mô-đun A yêu cầu mô-đun A , tôi sẽ luôn nhận được phiên bản sửa đổi của đối tượng đó hay một?
// app.js
var a = require('./a');
a.b = 2;
console.log(a.b); //2
var b = require('./b');
console.log(b.b); //2
// a.js
exports.a = 1;
// b.js
module.exports = require('./a');