@Nwton

Почему не получается получить и отдать module.exports в одном файле?

Есть модуль, которому, при подключении, передается функция/переменная, например, так:
myModule = require('./mymodule')(param);
В модуле переменная принимается так:
var param;
module.exports = function(item){
	param = item;
}

И это работает, теперь param из внешнего файла доступен в myModule.
Но при этом, передать что либо из myModule нельзя. Если я сделаю так в myModule:
echo = function(){
	console.log('ok');
}
module.exports.echo = echo;

А во внешнем файле так:
myModule.echo();
То выдаст ошибку "Cannot read property 'echo' of undefined".

Что можно сделать?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
yarkov
@yarkov
Помог ответ? Отметь решением.
mymodule.js
var param = "param";

module.exports = function(item){
    var self = this;
    param = item;
    self.echo = function(){
        console.log(param);
    }
    return {
        echo: self.echo
    }
}

test.js
var myModule = require('./mymodule')("newparam");
myModule.echo();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы