TGViewer
Frontend Developer Frontend Developer @frontenddevelopernews · 182 subscribers
Post #5 591
👋 Всем привет!

Итак, после предыдущего поста возник закономерный вопрос:

Как вообще уживаются вместе .cjs, .mjs и .js файлы в одном проекте? 🤔
Почему где-то используется require, а где-то import? И что за магия в поле "type" в package.json — обязательно ли его указывать?

💡 Давайте разбираться!

---

📚 Для начала предлагаю погрузиться чуть в документацию:
https://nodejs.org/api/packages.html#type

Вот краткая выжимка:

🔹 Тип: string
🔹 Поле "type" в package.json определяет, как Node.js будет трактовать .js файлы:
- "type": "module" — .js файлы считаются ES-модулями
- "type": "commonjs" или поле отсутствует — .js файлы считаются CommonJS

(независимо от значения "type")
- .mjs — всегда ES-модуль
- .cjs — всегда CommonJS

---

🧐 Если заглянете в package.json вашего проекта — скорее всего, поля "type" там нет.
А в конфиге, например, Webpack’а — увидите привычный require и module.exports, то есть commonjs.

Но при этом в самом приложении вы спокойно пишете import/export (es-modules) — и всё работает 🎉

Почему так?

Потому что Webpack сам умеет разбирать модули. Он не зависит от "type" в package.json и прекрасно парсит как import, так и require, по-своему собирая ваш код.

---

🔧 То есть:
- Конфиги (которые запускает Node.js напрямую) — требуют правильного формата (.cjs, .mjs, или "type").
- Код внутри фронта — обрабатывается Webpack’ом, и на поле "type" ему все равно.

---

Вот и вся магия 💫
  • 👍 8
  • ❤ 3
  • 🔥 2
  • 🤡 1
More from @frontenddevelopernews
  1. Jan 16, 2026🤣🤣🤣
  2. Jan 13, 2026Выпуск №509. Никита Дубко и Вадим Макеев про антивебные API для веба, как LLM и помогает,…
  3. Jan 13, 2026Всем привет! Сегодня прослушала подкаст «Веб-стандарты» #509 и узнала для себя несколько н…
  4. Dec 23, 2025🎄 Advent of JavaScript https://adventjs.dev/ Что это такое: * 24 дня — 24 задачи на JavaS…
  5. Dec 9, 2025💡 Идеальный программист Навыки, которые присущи идеальному разработчику! 😍 Спустя долгое…
  6. Dec 5, 2025Всем привет! Наткнулась в интернете на статью, где автор делится вопросами, которые ему за…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →