У меня проблема с наследованием в node.js. У меня есть следующий код:Node.js/Наследование переменных и модулей
Main.js код relavnt:
var s3_prototype_require = require("./s3")
var s3_prototype = new s3_prototype_require();
function getDoc(file) {
s3_prototype.read(file, function(err) {
return_result(res, err);
})
}
сервер, Js relvant код:
var server = function(){};
var idx = 0;
var winston = require('winston')
var logger = new(winston.Logger)({
transports: [
new(winston.transports.File)({
stream: fs.createWriteStream(log_g, {
flags: 'a'
}),
options: {
highWaterMark: 32
}
})
]
});
module.exports = server;
s3.js relvant код:
var server= require('./server'),
util = require('util');
var s3 = function() {
this.s3 = 's3';
};
util.inherits(server, s3);
s3.prototype.read = function(file, callBack) {
logger.info("Read file...");
idx = idx + 1;
}
проблема в том, что я потерпел неудачу при следующей ошибке: ReferenceError: logger is not defined
. Это презирает тот факт, что я определил переменную регистратора в коде server.js. Аналогичная проблема возникает с переменной idx
.
Как определить переменную и модули Наследование в node.js (например, защищено на Java)?
Это не то, как работают модули узла. Единственное существующее значение - это значение, присвоенное 'module.exports'. Эти переменные не определены в других модулях. – undefined