Задать вопрос
@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"
}

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

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

Похожие вопросы