Почему появляется ошибка SyntaxError: Cannot use import statement outside a module при запуске Node.js скрипта?
При попытке запустить файл Node.js напрямую, который использует синтаксис ES6 модулей (import/export), появляется ошибка:
Импорт и экспорт в коде настроены правильно, но при запуске напрямую через node src/bin/brain-games.js код падает. Почему так происходит и как правильно запускать такой код?
8 часов назад
Nikolai Gagarinov
Ответы
Ошибка возникает потому, что Node.js по умолчанию использует CommonJS модули (require/module.exports) и не понимает синтаксис ES6 модулей (import/export) без настройки.
Чтобы Node мог работать с современным синтаксисом модулей, нужно в файле package.json добавить:
После этого Node будет интерпретировать все .js файлы как ES-модули, и запуск напрямую будет работать:
Альтернатива — использовать Babel для транспайлинга кода из import/export в CommonJS, но проще и современнее — включить "type": "module" в package.json.
8 часов назад
Nikolai Gagarinov
Похожие вопросы