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

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

А как быть со схемой, миграциями, сущностями? Все делать вручную это не просто даже в метриках 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 в одном файле и просто модель новую подключаю одной строкой. А этот код похож на лабораторку первокурсника.

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