@mimikria

Ошибка Unexpected identifier при запуске файла из консоли?

Пишу cli утилиту, когда вызываю файл из командной строки появляется ошибка:

import program from 'commander';
^^^^^^^

SyntaxError: Unexpected identifier
at new Script (vm.js:74:7)
at createScript (vm.js:246:10)
at Object.runInThisContext (vm.js:298:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)

Сам код файла:
#!/usr/bin/env node

import program from 'commander';
import getWeather from '../weather';

export default program
  .version('0.1.0')
  .description('Return weather by ip')
  .arguments('<firstConfig>')
  .option('-f, --format [type]', 'Parse format', 'default')
  .action(async (firstConfig, type) => console.log(getWeather(firstConfig, type.format)))
  .parse(process.argv);


командер в зависимостях установлен все ок
"dependencies": {
"commander": "^2.18.0",
"lodash": "^4.17.11",
"nock": "^10.0.0",
"node-fetch": "^2.2.0"
}

В других проектах аналогичные файлы нормально запускались, не понимаю в чем проблема
  • Вопрос задан
  • 5976 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
node.js не запускает ES6 modules из коробки (только с флагом, но при запуске через исполняемый .js файл флаг не установить)
Используйте загрузчик через esm
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы