Обновить

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

А как быть со схемой, миграциями, сущностями? Все делать вручную это не просто даже в метриках cognitive complexity. Кодовая база будет распухать, вероятность ручных ошибок тоже.
Бросьте в меня ссылкой на туториал правильной готовки DDD в NestJS, пожалуйста.

у вас странно опущена структура бд... и запрос типа 'SELECT * FROM users' начиннающим лучше не показывать... wildcard в таких запросах в принципе не рационально ни с какой точки зрения...

const { Pool } = require('pg');

Интересно, а что мотивирует использовать CJS в 2024-м году, через 9 лет после появления ESM?

Работодатель автора, скорее всего.

Да хрен знает

Но напомню что большинство инструментов для сборки собирает в cjs. Хотя браузеров без esm....ноль типа?) да и промисы входят в тот же стандарт что и модули. И генераторы. И ещё куча всего

Это статья про бэкенд. Node понимает ESM c 2019-года (с 2017-го в виде экспериментальной фичи). Я начал плотно изучать "JS на бэке" примерно в 2018-м, для меня было вполне естественным использовать самые новые возможности языка (я верю в прогресс, а не в регресс). Отсюда и мой вопрос - чем в 2024-м году на бэке CJS лучше ESM?

Это обучающий материал, который показывает начинающим "как надо". Хотелось бы понять, какие есть аргументы в пользу CJS на бэке за исключением "всегда так делали" и "работает - ничего не трогай"?

А ведь у JS есть ещё "суперсет" - TS, который может транспилировать код и туда, и туда.

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

Походу, есть у меня ответ на свой же вопрос. Попросил я тут на днях ChatGPT nodejs кода сгенерировать, чтобы самому не писать. Обратил внимание, что он использует CJS-нотацию вместо ESM. Оно и понятно - в интернетах этого кода тупо больше, а LLM ориентируется на частоту употребления токенов в текстах и если ей не задать впрямую требование использовать ESM, то она выдаёт CJS.

Про typescript я первый задушнил?

а можно как-то в 2024 году обойтись без этой копипасты на 50% кода ?

res.status(200).json(result.rows[0]);

try...catch

Я у себя сделал автоматический CRUD в одном файле и просто модель новую подключаю одной строкой. А этот код похож на лабораторку первокурсника.

можно, пожалуйста, пример того, что вы имели ввиду?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS