У меня есть проект ApolloServer, который доставляет мне неприятности, поэтому я подумал, что могу обновить его и столкнулся с проблемами при использовании последней версии Babel. Мой "index.js" это:
require('dotenv').config()
import {startServer} from './server'
startServer()
И когда я запускаю его, я получаю сообщение об ошибке «SyntaxError: Невозможно использовать оператор импорта вне модуля». Сначала я попытался сделать что-то, чтобы убедить TPTB *, что это был модуль (но безуспешно). Поэтому я изменил «импорт» на «требовать», и это сработало.
Но теперь у меня есть около двух десятков «импортов» в других файлах, выдающих мне ту же ошибку.
* Я уверен, что корень моей проблемы в том, что я даже не уверен, что жалуется на проблему. Я вроде бы предположил, что это был Babel 7 (так как я пришел из Babel 6, и мне пришлось сменить пресеты), но я не уверен на 100%.
Большая часть того, что я нашел для решений, похоже, не относится к прямому Node. Как этот здесь:
Импорт модуля 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",
jest.config.js
к 'ts-jest/presets/js-with-ts'
- до сих пор некоторые другие вопросы , но решить это один большой. ..... да, моя проблема была связана с тестированием ... нормальные сборки были в порядке