Посмотрите, как использовать «импорт» в 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.