Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2018 March 27

NS

Nikolay 🤷🏼‍♀️ Simoti... in NodeUA - JavaScript and Node.js in Ukraine
пробовал как-то через замыкания, но все равно не то ;C
источник

VD

Vladyslav Dukhin in NodeUA - JavaScript and Node.js in Ukraine
По красивому экспортировать переменную из модуля В (module.exports) и подключить этот модуль в модуле А через require. Ну и потом обратятся к переменной.
const modB = require(‘./modA’);
console.log(modB.v);
источник

VD

Vladyslav Dukhin in NodeUA - JavaScript and Node.js in Ukraine
Есть ещё вариант через переменную global. В модуле А пишешь global.v = * значение *. А в модуле А подключив модуль В через require получаешь переменную со значением сразу в глобальном контексте. Но так делать не нужно! Это плохо. Но иногда это единственный выход..
источник

VD

Vladyslav Dukhin in NodeUA - JavaScript and Node.js in Ukraine
Ну и есть ещё одно
источник

VD

Vladyslav Dukhin in NodeUA - JavaScript and Node.js in Ukraine
Можно сделать песочницу, в ней объявить нужную переменную и запустить твой модуль А в этой песочнице. Смотри примеры тут:
https://github.com/HowProgrammingWorks/Sandboxes
https://github.com/HowProgrammingWorks/DependencyInjection
источник

NS

Nikolay 🤷🏼‍♀️ Simoti... in NodeUA - JavaScript and Node.js in Ukraine
Vladyslav Dukhin
Можно сделать песочницу, в ней объявить нужную переменную и запустить твой модуль А в этой песочнице. Смотри примеры тут:
https://github.com/HowProgrammingWorks/Sandboxes
https://github.com/HowProgrammingWorks/DependencyInjection
первые два не подходят, за последнее спасибо, буду смотреть
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Ну можно создать еще третий модуль С, там объявить v и заэкспортить. А в модулях А и Б зарекваерить С и радоваться жизни. Работает как глобал, но не аффектит глобал.
источник

А

Анатолий in NodeUA - JavaScript and Node.js in Ukraine
просто подключить где нужно модуль б а в нем экспортировать нужную переменную
источник

А

Анатолий in NodeUA - JavaScript and Node.js in Ukraine
Куда-то вы не туда полезли
источник

NS

Nikolay 🤷🏼‍♀️ Simoti... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Ну можно создать еще третий модуль С, там объявить v и заэкспортить. А в модулях А и Б зарекваерить С и радоваться жизни. Работает как глобал, но не аффектит глобал.
важно именно шардирование лексического окружения, если так можно сказать. Чтобы не нужно было префиксы расставлять, а просто использовать переменные, будто бы они глобальные (на самом деле нет)
источник

NS

Nikolay 🤷🏼‍♀️ Simoti... in NodeUA - JavaScript and Node.js in Ukraine
Анатолий
Куда-то вы не туда полезли
захотелось чет)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Если хочется переменные "будто бы они глобальные (на самом деле нет)", то самый простой способ - использовать глобальные переменные и не надо особо изобретать велосипеды.
источник

AD

Anton Dmytriichuk in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Если хочется переменные "будто бы они глобальные (на самом деле нет)", то самый простой способ - использовать глобальные переменные и не надо особо изобретать велосипеды.
Ава соответствует сообщению)
источник

KD

Kostya Draguzya in NodeUA - JavaScript and Node.js in Ukraine
источник

NS

Nikolay 🤷🏼‍♀️ Simoti... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Если хочется переменные "будто бы они глобальные (на самом деле нет)", то самый простой способ - использовать глобальные переменные и не надо особо изобретать велосипеды.
как их сделать глобальными без явного обозначения, если модуль оборачивается в функцию)
источник

А

Анатолий in NodeUA - JavaScript and Node.js in Ukraine
тебя не устраивают переменные в модуле которые ты можешь импортить?
источник

А

Анатолий in NodeUA - JavaScript and Node.js in Ukraine
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Совсем недавно же это показывал на паре, https://github.com/HowProgrammingWorks/Modularity тут нужно смотреть https://github.com/HowProgrammingWorks/Modularity/blob/master/JavaScript/lib/unit3.js или песочницы уже бросали ссылку
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Но если тебе это нужно сделать для того, чтоб построить неймспейсы, то все ок, а вот если прямо переменную, то ты пытаешься сделать два модуля связанными по данным и это отвратительно
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Рассказывал же про связанность по данным, по вызовам и по событиям
источник