Станислав
Чтобы добрать до файла, который лежит по структуре в другом месте. Пример: структура: в folder 1 вложены папки folder 2 и folder 3. Что если нужно запусть что-то из folder 2 и обратиться к какому-то обьекту (картинка, файл и тд), лежащему в folder 3? Переделывать структуру из-за этого что-ли?
Mnwa
../ опускает тебя на директорию ниже
Mnwa
../folder3/module.js
Примерно так будет выглядеть require
Станислав
Премного благодарен
Mnwa
Всегда пожалуйста
Anonymous
qq all
KlonD90
Давайте за датацентры затрем. Переехал с амазона в хетцнер и тот дико отстойный. Где есть норм не Российский и относительно качественный?
KlonD90
Отстойный в плане пакеты где-то теряются, видимо сеть скомпроментирована.
Таймураз
норм не российский, лол)
KlonD90
Канал плохой
Таймураз
https://ua-hosting.company/
Я тут сижу
KlonD90
эээ
KlonD90
у них дата центр горел
Таймураз
Когда?
Таймураз
У низ акции бывают, лояльная тп
Самое плохое- это админка старая
KlonD90
ну когда-то кажется такое было. Какой них tier?
Таймураз
Tier III
Таймураз
Тебе принципиален TIer?
Alex
А что скажете про хостинг https://selectel.ru?
arts
Michael
Michael
у Hetzner vpsки забавные были, падали в ночь с пятницы на субботу и поддержка руками включала его в понедельник
Gaga
Михаил Макарычев
Привет всем. Может кто помочь с паттерном observer? Сначала всё было нормально, но потом выросло кол-во независимых модулей. И я уже не могу при каждом событии передавать одну функцию
Михаил Макарычев
Mnwa
Тоже им пользуюсь в личных проектах
Mnwa
vscale.io вполне норм
Mnwa
Mnwa
Михаил Макарычев
Вынеси код в отдельную функцию и вызывай уже её
У меня при обработке события передаётся функция, которая принимает на вход только один параметр. А мне внутри данного обработчика надо обратиться к БД, Redis и Google Maps API. Это ещё +3 переменные, если я не хочу ипользовать глобальные переменные
Mnwa
Как варинат сделать цепочку промисов
Дима
Как варинат использовать более подходящий "паттерн"
Mnwa
Мне на ум сразу приходят либо промисы, либо вынос в отдельную функцию, ради красоты кода
Anonymous
Народ помогите избавится от списка команд который был добавлен с помощью ботФазера
Anonymous
Lev
Спроси у пхпшников или ангулярщиков
Alik
обратись к ботФазер, выпиливаются также как и добавлялись
Vitaliy
У меня при обработке события передаётся функция, которая принимает на вход только один параметр. А мне внутри данного обработчика надо обратиться к БД, Redis и Google Maps API. Это ещё +3 переменные, если я не хочу ипользовать глобальные переменные
в express есть метод app.set(key, value)/.get(key), так можно предоставить доступ всему express приложению к каким-нибудь значениям/объектам. например, в index.js установить app.set('db', new DB()), а в обработчике роута получить значение
app.post('/post', (req, res) => {
const db = req.app.get('db')
})
http://expressjs.com/en/4x/api.html#app.set
это я к тому, что можно пошарить какие-то штуки через контекст this или всегда передаваемый в обработчик параметр
Михаил Макарычев
в express есть метод app.set(key, value)/.get(key), так можно предоставить доступ всему express приложению к каким-нибудь значениям/объектам. например, в index.js установить app.set('db', new DB()), а в обработчике роута получить значение
app.post('/post', (req, res) => {
const db = req.app.get('db')
})
http://expressjs.com/en/4x/api.html#app.set
это я к тому, что можно пошарить какие-то штуки через контекст this или всегда передаваемый в обработчик параметр
Просто не хотелось бы в контексте хранить доступ к БД, доступ к сессиям, доступ к Google Maps API и пр.
Я хотел написать несколько независимых модулей, а потом как-то их связать через паттерны observer/mediator. В википедии такие задачи решались легко и просто, но в реальном проекте всё как-то сложнее
Vitaliy
а, понял, я не в кассу написал, пардон )
Михаил Макарычев
V
Михаил Макарычев
V
У тебя есть модуль для подключения к ДБ, внутри самого модуля ты делаешь это самое подключение и экспортишь его (или фукнции для работы с бд)
В других модулях ты делаешь require этого модуля и все, никакого доп кеширования не надо
V
и у тебя идет реюз подключения
V
или я неправильно задачу понимаю? :)
Михаил Макарычев
или я неправильно задачу понимаю? :)
Видимо, неправильно. У меня есть наблюдатель (он же observer). Он генерирует события. При генерировании события вызывается функция, принимающая на вход один аргумент.
Всё было хорошо сначала. Но потом мне потребовалось при обработке события обратиться к БД, Redis и Google API. Это +3 переменные, которые надо как-то передать в обработчик. А обработчик-то принимает на вход только одну строку.
Понятно объяснил?
V
а в чем проблема в коде самого обработчика обращатся к БД? Для этого не нужна в него напрямую передавать доступ
V
Можешь скинуть примерный код как сейчас обработчик выглядит? Тогда должно стать яснее что делать :)
Михаил Макарычев
V
А чем тебе это не нравится?
V
https://bitbucket.org/mak_tu/plantsbot/src/a35434e4d3c67746998615b5df1f907c55798188/src/main.ts?at=master&fileviewer=file-view-default#main.ts-55
Михаил Макарычев
А чем тебе это не нравится?
Я бы хотел, чтобы на каждое событие вызывалась одна функция как в 51 и 66 строчке. А в 69 так не получается, например
V
ну а как еще? :)
Можешь вынести их в отдельный сервис типа HandlerService и вызывать HandlerService.end()
V
b ng
V
а уже внутри обращаться к редисам и тп
Михаил Макарычев
V
А почему по твоему это костыль?
V
Ну смотри, тебе нужно выполнить несколько других действий для обработки одного сообщения, какой еще вариант есть кроме как вызвать эти методы в обработчике или вынести это в общую либу
Bogdan
Вроде хорошо туда вписывается сервис со всеми методами внедренный через di
ALEX
Хороший сайт по #react-router-dom и еще пара тем на гитхабе лежат
https://reacttraining.com/react-router/
Михаил Макарычев
A
Коллеги, а может кто объяснить разницу между такими вызовами в koa:
1) next()
2) await next()
3) return next()
?
Pavel
ну по идее next юзается для вызова по цепочке следующей миддлвари. соответственно, во 2 случае ты позволяешь остальным мидлварям в чейне обработать пришедший запрос
Pavel
в 3 случае ты просто вернешь функцию, вызывающую следующую мидлварю
V
во втором, ты можешь выполнить код, который выполнится когда все мидлвари выполнились
Pavel
а в первом получается ты и передал по цепочке запрос и сам что то с ним делаешь в это время
Pavel
вроде как то так, поправьте если ошибся
A
ух, спасибо
Алексей
Denis
Ребятки, подскажите как можно добиться следующего результата
собираем проект командой npm run build —env=prod и в зависимости от того, чему равно значение env подставляем различные адреса API внутри проекта?
Sergey
Sergey
не надо переменные окружения связанные с prod/dev называть абы как
Sergey
есть NODE_ENV и production / development / test значения
Denis
а на винде?