Как стать автором
Обновить

Комментарии 8

В 21 веке пользуются webpack + type script, к чему это легаси?

А сам webpack как-то по-другому работает в node.js ?

вот развёрнутый список (окей, это не только вебпак):

  • import синтаксис вместо require(), export синтаксис вместо module.exports

  • типы модулей: amd, umd, commonjs, nextjs и т.д.

  • loaders, импорт-чего-угодно, а не только js (картинки, статические файлы, и т.п.)

  • type script вместо js, заголовочные файлы, source maps

  • lock файлы разных видов, повторябельные сборки

  • менеджмент транзитивных зависимостей

  • lerna для управления мульти-пакетными репозиториями

  • yarn вместо npm, yarn workspaces

Если вы на сервере используете nodejs+webpack+TypeScript задумайтесь: "почему вы просто не используете хорошо типизированный язык на бэке вместо этого франкенштейна? Получаете в нагрузку кучу проблем:


  • проблемы с отладкой. Это больше всего раздражает, только в nodejs оптимизировали и довели отладчик до ума как все уже на TS…
    • переменные под отладчиком часто видны с неожиданными именами
    • сложность настройки отладки. Я знаю как ее настроить, но часто слышу от разработчиков, которые пишут на TS что дебажат они локально ЛОГАМИ! в 21 веке!
  • дополнительное время на компиляцию (встречал проект который 20сек на каждый чих перекомпилируется)
  • из пункта выше вытекает еще одна проблема: нужно привязывать ноутбук к столу, иначе взлетает...
  • переусложненная система сборки, которую половина разработчиков стабильно не понимает

В целом NodeJS вполне сносный язык, если вас устраивает его вседозволенность и отсутсвие нормальной системы типов.
На фронте могу понять спользование TS — там нет выбора, или JS или транспайлеры… а на бэке, ИМХО, это странный костыль.

В 21 веке кто-то юзает вебпак для бэка? На кой? Есть уютный Nest и без вебпаков всё хорошо, не?

TS — надстройка над JS. С транспилятором, в теории, можно писать на любом языке (TS, Dart, Java, Python, ...) и выдумывать любую модульность, но… если всё сводится к имеющимся возможностям JS. Потому что браузеры, в массе своей, понимают только JS (ну и wasm для энтузиастов).


А если мы говорим за vanilla JS, то на сегодня это ES2020, ES-модули и import.

Статья опоздала лет так на 8
Зарегистрируйтесь на Хабре, чтобы оставить комментарий