Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 March 30

В

Вадим in NodeUA - JavaScript and Node.js in Ukraine
Начал смотреть про работу с постгрей в node.js как раз
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
В тему останнього обговорення global )
Це норм ідея - покласти екземпяр квері білдера в глобал? так вродь зручніше ніж через require

const knex = require("knex")(config);
global.getKnex = () => knex;
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Anton Kovalenko
В тему останнього обговорення global )
Це норм ідея - покласти екземпяр квері білдера в глобал? так вродь зручніше ніж через require

const knex = require("knex")(config);
global.getKnex = () => knex;
Да, норм, я разрешаю
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
не нужно ни какого getKnex, просто global.knex = require('knex')(config);
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
если кто-то будет спрашивать почему, то предложи ему require импортировать через require, а то ведь непонятно, откуда он появляется. Примерно так const require = require('require');
источник

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Да, норм, я разрешаю
а это точно не троллинг?)
источник

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
если кто-то будет спрашивать почему, то предложи ему require импортировать через require, а то ведь непонятно, откуда он появляется. Примерно так const require = require('require');
ну как жеж - вот жеж, прямо в документации:
https://nodejs.org/dist/latest-v12.x/docs/api/modules.html#modules_the_module_wrapper

все IDE про это знают, @types/node - тоже.
а вот про global.knex знать будет только автор этой строки)
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Алексей Карташов
ну как жеж - вот жеж, прямо в документации:
https://nodejs.org/dist/latest-v12.x/docs/api/modules.html#modules_the_module_wrapper

все IDE про это знают, @types/node - тоже.
а вот про global.knex знать будет только автор этой строки)
ну вот, это внедрение зависомостей, и это неявное появление идентификатора вдруг
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Все IDE можно настроить, это ни разу не проблема
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Точно не тролинг, я выше пояснял почему require может быть плох, а global хорошо. Читай выше
источник

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Точно не тролинг, я выше пояснял почему require может быть плох, а global хорошо. Читай выше
да, я видел, но всё-равно засомневался)
источник

TS

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

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Все IDE можно настроить, это ни разу не проблема
малость не согласен - все IDE из коробки знают CommonJS/-2. и знают про этот неявный di. есть начать инстансы сервисов класть в global, то, конечно, у себя локально в ide можно попытаться настроить, но это придётся делать всем участникам команды - и текущим, и новым (за ts не уверен - можно ли там вообще global расширить?)
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Это в конфиги проекта кладется и все
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
IDE - это последний вопрос в мире, не ради него архитектура строится
источник

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
IDE - это последний вопрос в мире, не ради него архитектура строится
я всегда исхожу из того, что все актуальные ide должны поддерживать выбранную в проекте архитектуру. т.е. на ide мы, конечно, не смотрим, но принимать во внимание должны.
а класть в корень какой-то специфичный для иде конфиг и засовывать его в git.. а если в команде разные вкусы - webstorm, vscode, etc, то для каждого надо конфиг в репе хранить? с описанием глобалов проекта? чёт такой себе путь, не нраится
источник

АК

Алексей Карташов... in NodeUA - JavaScript and Node.js in Ukraine
> мы, конечно, не смотрим, но принимать во внимание должны.
*потрясающе сформулировал, аплодисменты мне!*
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Алексей Карташов
я всегда исхожу из того, что все актуальные ide должны поддерживать выбранную в проекте архитектуру. т.е. на ide мы, конечно, не смотрим, но принимать во внимание должны.
а класть в корень какой-то специфичный для иде конфиг и засовывать его в git.. а если в команде разные вкусы - webstorm, vscode, etc, то для каждого надо конфиг в репе хранить? с описанием глобалов проекта? чёт такой себе путь, не нраится
.eslintrc.json все понимают
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
разные вкусы нужно душить, кстати
источник

TS

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