У меня есть проект ApolloServer, который доставляет мне проблемы, поэтому я подумал, что могу обновить его и столкнулся с проблемами при использовании последней версии Babel. Мой "index.js":
require('dotenv').config()
import {startServer} from './server'
startServer()
И когда я запускаю его, я получаю сообщение об ошибке "SyntaxError: Невозможно использовать оператор импорта вне модуля". Сначала я попытался сделать что-то, чтобы убедить TPTB *, что это был модуль (но безуспешно). Поэтому я изменил «import» на «require», и это сработало.
Но теперь у меня есть около двух десятков «import» в других файлах, выдающих мне ту же ошибку.
* I 'Я уверен, что корень моей проблемы в том, что я даже не уверен, что жалуется на проблему. Я вроде бы предположил, что это был Babel 7 (так как я пришел из Babel 6, и мне пришлось изменить предварительные настройки), но я не уверен на 100%.
Большинство из того, что я нашел для решений, нене похоже на прямой узел. Например, здесь:
Модуль ES6 при импорте выдаёт «Uncaught SyntaxError: Неожиданный идентификатор»
Говорит, что это было решено добавлением «type = module», но это обычно происходитв HTML, которого у меня нет ни одного. Я также попытался использовать старые пресеты моего проекта:
"presets": ["es2015", "stage-2"],
"plugins": []
Но это вызывает у меня еще одну ошибку: «Ошибка: файлам плагинов / пресетов не разрешено экспортировать объекты, только функции».
ОБНОВЛЕНИЕ: Вот зависимости, с которых я начал:
"dependencies": {
"@babel/polyfill": "^7.6.0",
"apollo-link-error": "^1.1.12",
"apollo-link-http": "^1.5.16",
"apollo-server": "^2.9.6",
"babel-preset-es2015": "^6.24.1",