Да, вы действительно можете.
Если вы используете nodejs LTS
, вам придется использовать расширение .mjs
для файла, в котором вы используете import
, и передавать флаг experimental-modules
при запуске node
процесса.
// foo.mjs
import equal from 'deep-equal';
node --experimental-modules foo.mjs
Начиная с nodejs 12.3.0
вы можете просто пропустить experimental-modules
. Из документов
После включения Node.js будет обрабатывать следующее как модули ES при передаче на узел в качестве начального ввода или при ссылке на операторы импорта в коде модуля ES
Также вы можете указать type
как module
в вашем package.json
:
// package.json
{
"type": "module"
}
Из документов
Файлы, оканчивающиеся на .js или .mjs или не имеющие какого-либо расширения, будут загружены в виде модулей ES, когда ближайший родительский файл package.json содержит поле верхнего уровня «type» со значением «module»