Подтвердить что ты не робот

Node ошибка: SyntaxError: неожиданный импорт маркера

Я не понимаю, что не так. Я щекотал другой форум, рассказывающий о транспиляции и бабье. Что мне нужно сделать? Благодарю. Node -v: v5.5.0

мой код:

import recast from 'recastai'

и ошибка

(function (exports, require, module, __filename, __dirname) { import recast from 'module1'
                                                              ^^^^^^

SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3
4b9b3361

Ответ 1

Импорт ES6 - это недавно введенная функция, а текущая стабильная версия Node пока не поддерживает их. Node.js issue tracker имеет открытую проблему для этого - но до тех пор, пока V8 и Node не добавят поддержку этой функции, вам нужно будет использовать транспилер (большинство популярный babel), чтобы использовать импорт.

Для быстрой проверки трансляции, Babel предоставляет веб-REPL. Этот демонстрирует, что ваш код транслируется.

Домашняя страница веб-сайта babel указывает на соответствующие ресурсы для начала работы с Babel и интеграции с вашим рабочим процессом разработки.

Для простейшей настройки перейдите на эту страницу и выберите CLI в разделе встроенных модулей Babel.

В основном это три простых шага:

  • Установить babel-cli: npm install --save-dev babel-cli
  • Создайте конфигурационный файл .babelrc: echo '{ "presets": ["es2015"] }' > .babelrc
  • Используйте установленный модуль для перевода исходного кода: ./node_modules/.bin/babel src -d lib

На вышеупомянутой странице настройки также показано, как добавить npm script, чтобы упростить последний шаг. Кроме того, вы можете интегрировать babel с вашим редактором или цепочкой сборки, чтобы ваши файлы автоматически составлялись при изменении.

Ответ 2

Использовать последние пресеты babel

  • Установите последние пресеты yarn add --dev babel-preset-latest

  • Создайте .babelrc и добавьте следующее { "presets": ["latest"] }

  • Запустите script npx babel-node yourscript.js

  • Или в файле package.json добавьте

"scripts": { "start": "babel-node index.js" }

Ответ 4

Если вы не хотите иметь дело с babel. Это работало для меня.

const calc = require('./my_calc');
let {add, multiply} = calc;