Показать сообщение отдельно
  #3 (permalink)  
Старый 10.04.2015, 20:09
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

Roman159,
Либо я тебя не понял, либо ты не совсем понимаешь о чем ты говоришь
Тебе не надо ничего никуда передавать. У тебя main2 инициируется в main, соответственно, твоя глобальная переменная и так будет доступна для кода, загруженного из main2, только объявляй ее без var в main. Но напрямую пользоваться глобальными переменными из других модулей -- это вобще-то не очень хорошая идея. Модуль он на то и модуль, чтобы быть независимым от чужих/других неймспейсов.

Лучше делай вот так:
main1:
var main1={
 init: function(o){for(var i in o) {if(!o.hasOwnProperty(i)) return; this[i]=o[i]}},
 f: function(val){console.log(val+this.x)}
}

module.exports=main1

main:
x=1
main1=require("./main1")
main1.init({x: x})

main1.f(2) // --> 3

Последний раз редактировалось theKingOfJava, 10.04.2015 в 20:44.
Ответить с цитированием