Какой синтаксис использовать в nodejs? import модуля ES или require()

В Node.js, вы можете использовать синтаксис импорта модуля ES (ECMAScript) с помощью дополнительной настройки. До версии Node.js 12, этот синтаксис не поддерживался нативно, и приходилось использовать CommonJS ( require ) или инструменты, такие как Babel, чтобы использовать синтаксис импорта.

16 просмотров

Какой синтаксис использовать в nodejs? import модуля ES или require()
Распространённые ошибки

Распространённые ошибки

ERR_REQUIRE_ESM: require() of ES Modules is not supported
ERR_REQUIRE_ESM: require() of ES Modules is not supported

Система модулей ES теперь является стандартным методом объединения кода JavaScript для совместного использования. Модуль ES может использоваться только с другими модулями ES.

Итак, чтобы импортировать модули ES в наш проект, мы сначала должны определить проект также как модуль ES. Мы делаем это, устанавливая для type поля в нашем package.json файле значение "module".

{ "type": "module", // other fields... }

Как только мы сделаем это, мы можем использовать синтаксис ES import для модуля, например:

import chalk from 'chalk';

Полезно знать

Если мы не сделаем наш проект модулем ES, вы получите другую ошибку: SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module

Обратите внимание, что если вы используете .js файлы, вы должны явно указывать расширение файла в импортах. В противном случае Node.js будет пытаться искать файлы без расширения, что может привести к ошибке.

Был ли этот материал полезен?

Авторы документа

Информацию подготовили