Посмотрите, как использовать «импорт» в Node.js вместо «требовать».

Node.js — среда выполнения JavaScript, которая позволяет нам писать JavaScript вне браузера, — один из любимых вариантов среди разработчиков для написания кода на стороне сервера.

Node.js — отличный инструмент для написания серверного кода, поскольку это JavaScript, а JavaScript сам по себе — язык, удобный для начинающих. Так же, как другие серверные языки позволяют нам добавлять внешние зависимости в наш проект, Node.js позволяет нам делать то же самое через NPM и YARN.

Если вы использовали другие фреймворки JavaScript, такие как React или Vue.js, то вы знаете, что эти фреймворки используют ключевое слово «import» для импорта файлов и модулей вместо ключевого слова «require», используемого Node.js.

Но если вы хотите использовать оператор «импорт» в своем коде Node.js вместо ключевого слова «требовать», тогда есть доступное решение.

→ Использование расширения «.mjs»

Первый способ использования оператора «import» в JavaScript — сохранить файл JavaScript с расширением «.mjs» вместо обычного расширения «.js».

Node.js по умолчанию использует модульную систему под названием CommonJS, поэтому мы должны использовать require и module.exports для импорта и экспорта модулей.

«.mjs» позволяет нам использовать модульную систему ECMAScript, которая является той же системой, которая используется React, тем самым позволяя «импортировать» и «экспортировать, экспортировать по умолчанию» в наших файлах Node.js.

Взгляните на пример ниже:

Приведенный выше код успешно выполнился без каких-либо ошибок в консоли. Попробуйте изменить расширение «.mjs» на просто «.js», и сервер выдаст ошибку в консоли.

→ Редактирование файла «package.json»

Если вы хотите использовать расширение «.js» вместо расширения «.mjs» и по-прежнему хотите использовать оператор «import» в своих файлах, есть вариант.

Вы можете отредактировать файл «package.json» и добавить свойство «тип» со значением «модуль».

Свойство «тип» помогает определить модульную систему, которую следует использовать в проекте. «Тип» может принимать одно из двух значений: «модуль» или «общие». «Модульная» система включает модульную систему ECMAScript, тогда как «commonjs» — это модульная система CommonJS.

Если это свойство опущено (по умолчанию), предполагается, что система модулей — это CommonJS.

Заключение:

Вы можете использовать или не использовать оператор «import» в своем проекте Node.js, но если ваша работа требует, чтобы вы использовали «import» вместо «require», вы можете использовать указанные выше методы.

Вся концепция использования оператора «import» вместо «require» в Node.js заключается в переходе от модульной системы CommonJS к модульной системе ECMAScript.

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.