1
Я новичок в nodejs.Проблема с nodejs cache с module.exports
У меня есть этот скрипт: book.js
var page = 0;
exports.setPageCount = function (count) {
page = count;
}
exports.getPageCount = function(){
return page;
}
Наряду со сценарием follownig: scripts.js
var bookA = require('./book');
var bookB = require('./book');
bookA.setPageCount(10);
bookB.setPageCount(20);
console.log("Book A Pages : " + bookA.getPageCount());
console.log("Book B Pages : " + bookB.getPageCount());
Выход я получаю:
Book A Pages : 20
Book B Pages : 20
Итак, я изменил сценарий:
module.exports = function(){
var page = 0;
setPageCount : function(count){
page = count;
},
getPageCount : function(){
return page;
}
}
Я ожидаю следующий вывод:
Book A Pages : 10
Book B Pages : 20
Но по-прежнему получать первоначальный результат, кто-нибудь есть идеи, где я сделал ошибку?
вар bookA = bookFactory(); ^ TypeError: bookFactory не является функцией –
Вы также можете выбрать «класс» или «прототип» из своего модуля и использовать ключевое слово 'new'. Много способов добиться того, что вы ищете. – daf
Я отредактировал свое сообщение, чтобы отразить изменения в вашем модуле - слишком быстро прочитайте свою вторую попытку и на ретроспекцию, поняли, что это тоже нужно изменить. Извиняюсь. – daf