Импорт ES6 дает неожиданный идентификатор SyntaxError при работе на терминале - PullRequest
0 голосов
/ 23 мая 2019

Я новичок во всей концепции ES6 и в настоящее время пытаюсь использовать модули export и import. У меня есть простой код, который просто log что-то для console. Ниже приведены коды

autoincrementId.js

export default function autoincrementId() {
  return 'hey';
}

log.js

import autoincrementId from '../helpers/autoincrementId.js';

console.log(autoincrementId());

Когда я запускаю свой код с node на терминале, я получаю эту ошибку screenshot of the error

autoinrementId означает printOut в ошибке Когда я использую module.exports и require все работает нормально. Но я хочу использовать export import. Я уже настроил свое окружение, используя инструкции от https://babeljs.io/setup#installation

Пожалуйста, как мне исправить это, потому что все ответы, прочитанные на SO, говорят мне добавить type="module", когда в HTML, но я работаю на терминале? Спасибо.

1 Ответ

1 голос
/ 23 мая 2019

Для Node.js запустите скрипт с флагом --experimental-modules.Это позволит вам использовать модули ES в Node.js без необходимости переноса операторов импорта / экспорта.

node --experimental-modules ./path/to/your.js

Ошибка является своего рода вводящей в заблуждение, потому что без этого флага Node пытается проанализировать ваш скрипткак модуль CommonJS вместо модуля ES, который не понимает import / export.

...