Mam projekt ApolloServer, który sprawia mi problemy, więc pomyślałem, że mogę go zaktualizować i napotkałem problemy podczas korzystania z najnowszej wersji Babel. Mój „index.js” to:
require('dotenv').config()
import {startServer} from './server'
startServer()
Po uruchomieniu pojawia się błąd „Błąd składni: nie można użyć instrukcji importu poza modułem”. Najpierw próbowałem zrobić rzeczy, aby przekonać TPTB *, że był to moduł (bez powodzenia). Więc zmieniłem „import” na „wymaganie” i to zadziałało.
Ale teraz mam około dwóch tuzinów „importów” w innych plikach, co daje mi ten sam błąd.
* Jestem pewien, że źródłem mojego problemu jest to, że nie jestem nawet pewien, co narzeka na ten problem. Przyjąłem, że to Babel 7 (ponieważ pochodzę z Babel 6 i musiałem zmienić ustawienia wstępne), ale nie jestem w 100% pewien.
Większość tego, co znalazłem dla rozwiązań, nie dotyczy prostego węzła. Jak ten tutaj:
Moduł ES6 Import podający „Nieprzechwycony błąd składni: nieoczekiwany identyfikator”
Mówi, że problem został rozwiązany przez dodanie „type = module”, ale zwykle będzie to przebiegać w HTML, którego nie mam. Próbowałem też użyć starych ustawień mojego projektu:
"presets": ["es2015", "stage-2"],
"plugins": []
Ale pojawia się kolejny błąd: „Błąd: Pliki wtyczek / ustawień wstępnych nie mogą eksportować obiektów, tylko funkcje.”
AKTUALIZACJA: Oto zależności, od których zacząłem:
"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
celu 'ts-jest/presets/js-with-ts'
- jeszcze kilka innych kwestii, ale to rozwiązano duże. ..... tak, mój problem był związany z testowaniem ... normalne kompilacje były w porządku