билд приложения на ts. (чтобы всё в одном js было если проще)
есть ли какой-то адекватный бандлер который заточен именно на запуск приложений а не на веб?
что-то типа webpack+webpack-dev-server только для консольных приложух.
PS да, я сам что-то делал, нашёл парочку плагинов, но они работают и выглядят как квадратное колесо
PPS будет просто пушка если будет какой-то хот релод (приложение модульное, можно выгрузить и загрузить новый кусок в рантайме) а если не получится хот, то полный рестарт
Плюм минус любой бандлер справится
В ноде разве можно делать hot reload?
есть какой-то пресет/гайд чтобы не повторять уже изветные ошибки? сейчас я накатал какую-то подливу на вебпаке которая работает через раз слышал про rollup и что он умеет норм сборку либок. когда делал конфиг сам оно мне выкатило тонну ошибок и через часа 3 забросил это дело
ага. притом очень просто с вебпаком. дефолтный if (process.hot) { ... } и в конфиге надо обработать событие когда файл хот релода эмитнулся и кинуть какой-то сигнал на процесс
https://www.npmjs.com/package/run-script-webpack-plugin пытался сделать всё красиво, в итоге оно всё равно работало через раз: или хот файлик не применится, или лайв релод не сработает
nodemon? нет?
да, но я перфекционист, да и с нодмоном можно забыть о хот релоде
Да, иногда именно из-за этого и берут webpack на ноду
он разве умеет в горячую замену модулей?
а зачем вам горячая замена модулей на ноде? Я вот этого в принципе не понимаю.
Для быстрого обновления в больших приложениях
представь приложение которое запускается и инициализирует поколо пяти секунд (пока бд, подцепится, пока кэши разогреются, пока все модули иницализируются) а теперь представь что у тебя нодмон который рестартит приложение при каждом чихе и тебе надо ждать каждый раз а хот релод заменит что надо и как надо и нчё ждать не надо
когда у меня подобные приложения, я не беру ноду кроме как getaway, да и подождать пять секунд это не проблема. не пять минут же.
да, но не всегда проектируем приложения именно мы. дают тебе проект в 200+ файлов легаси и начинаешь жрать
да, но тесты как бы, тесты... толку от хотрелоада, если тесты все равно нужно писать и запускать... и вот тут без разницы сколько база поднимается, кэш прогревается. Обычно само написание тестов, плюс их прогон, это секунд двадцать, а то и больше. А уж если это интеграционные, то там можно и на пол часа встрять. Какой смысл в хотрелоадинге. А если у вас в таком проекте нет тестов, то тут как бы это сказать по мягче, только по сочувствовать.
А при чём тут тесты?
ну, легаси на то и легаси что тестов там нет) да и то что у меня есть покрыть тестами почти не получится (там всё в куче и всё друг друга имортит >: X) я сразу это поняла и теперь в проекте 3 стейжа (дев, стейбл, прод) и 10 человек тыкают конопушки и говорят что всё ок. год, полйт нормальный
если вы написали функцию и изменили модуль, а потом запустили приложение не написав тесты, то вы что-то делаете не так в своем подходе к разработке. Я понимаю еще фронт, где перезапускать проект из-за того что ты внес парочку строк изменения в стили или html. Но как можно писать код через hotreload на бэке я не пойму, у вас же через раз все приложение будет отваливаться?
там выше есть, что юнит и интеграционка вообще не катит (там всё в куче, разгредать в падлу) а вот e2e может подойти, но пока есть эникейщики которые могут за меня просто тыкать кнопки и всё проверять -- задумываться даже не буду о тестах на старом коде не, хот только для дева. на проде стоит кубер который "мнгновенно" всё обновляет
Это restart а не reload
К примеру чтоб не терять websocket
Обсуждают сегодня