170 похожих чатов

И раз уж я тут, то ещё вопрос: надо сделать проприетарный

билд приложения на ts. (чтобы всё в одном js было если проще)
есть ли какой-то адекватный бандлер который заточен именно на запуск приложений а не на веб?

что-то типа webpack+webpack-dev-server только для консольных приложух.

PS да, я сам что-то делал, нашёл парочку плагинов, но они работают и выглядят как квадратное колесо
PPS будет просто пушка если будет какой-то хот релод (приложение модульное, можно выгрузить и загрузить новый кусок в рантайме) а если не получится хот, то полный рестарт

21 ответов

24 просмотра

Плюм минус любой бандлер справится

В ноде разве можно делать hot reload?

ThunderAL- Автор вопроса

есть какой-то пресет/гайд чтобы не повторять уже изветные ошибки? сейчас я накатал какую-то подливу на вебпаке которая работает через раз слышал про rollup и что он умеет норм сборку либок. когда делал конфиг сам оно мне выкатило тонну ошибок и через часа 3 забросил это дело

ThunderAL- Автор вопроса

ага. притом очень просто с вебпаком. дефолтный if (process.hot) { ... } и в конфиге надо обработать событие когда файл хот релода эмитнулся и кинуть какой-то сигнал на процесс

ThunderAL- Автор вопроса

https://www.npmjs.com/package/run-script-webpack-plugin пытался сделать всё красиво, в итоге оно всё равно работало через раз: или хот файлик не применится, или лайв релод не сработает

nodemon? нет?

ThunderAL- Автор вопроса

да, но я перфекционист, да и с нодмоном можно забыть о хот релоде

Да, иногда именно из-за этого и берут webpack на ноду

он разве умеет в горячую замену модулей?

а зачем вам горячая замена модулей на ноде? Я вот этого в принципе не понимаю.

Для быстрого обновления в больших приложениях

ThunderAL- Автор вопроса

представь приложение которое запускается и инициализирует поколо пяти секунд (пока бд, подцепится, пока кэши разогреются, пока все модули иницализируются) а теперь представь что у тебя нодмон который рестартит приложение при каждом чихе и тебе надо ждать каждый раз а хот релод заменит что надо и как надо и нчё ждать не надо

когда у меня подобные приложения, я не беру ноду кроме как getaway, да и подождать пять секунд это не проблема. не пять минут же.

ThunderAL- Автор вопроса

да, но не всегда проектируем приложения именно мы. дают тебе проект в 200+ файлов легаси и начинаешь жрать

да, но тесты как бы, тесты... толку от хотрелоада, если тесты все равно нужно писать и запускать... и вот тут без разницы сколько база поднимается, кэш прогревается. Обычно само написание тестов, плюс их прогон, это секунд двадцать, а то и больше. А уж если это интеграционные, то там можно и на пол часа встрять. Какой смысл в хотрелоадинге. А если у вас в таком проекте нет тестов, то тут как бы это сказать по мягче, только по сочувствовать.

А при чём тут тесты?

ThunderAL- Автор вопроса

ну, легаси на то и легаси что тестов там нет) да и то что у меня есть покрыть тестами почти не получится (там всё в куче и всё друг друга имортит >: X) я сразу это поняла и теперь в проекте 3 стейжа (дев, стейбл, прод) и 10 человек тыкают конопушки и говорят что всё ок. год, полйт нормальный

если вы написали функцию и изменили модуль, а потом запустили приложение не написав тесты, то вы что-то делаете не так в своем подходе к разработке. Я понимаю еще фронт, где перезапускать проект из-за того что ты внес парочку строк изменения в стили или html. Но как можно писать код через hotreload на бэке я не пойму, у вас же через раз все приложение будет отваливаться?

ThunderAL- Автор вопроса

там выше есть, что юнит и интеграционка вообще не катит (там всё в куче, разгредать в падлу) а вот e2e может подойти, но пока есть эникейщики которые могут за меня просто тыкать кнопки и всё проверять -- задумываться даже не буду о тестах на старом коде не, хот только для дева. на проде стоит кубер который "мнгновенно" всё обновляет

Это restart а не reload

К примеру чтоб не терять websocket

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта