В чём разница между CommonJS и ESM (ES Modules)?

Middle
421 просмотров
AFK Offer AI

CommonJS: require() синхронный, module.exports, работает везде в Node.js, .js расширение. ESM: import/export статические, асинхронная загрузка, tree-shaking, нужен "type": "module" в package.json или расширение .mjs. В ESM нет __dirname/__filename, require(). CommonJS нельзя import динамически из ESM без танцев с бубном. Экосистема постепенно переходит на ESM, но interop всё ещё болезненный.

Следующий вопрос

Что такое NestJS и какова его архитектура?