Ho un progetto ApolloServer che mi sta dando problemi, quindi ho pensato di aggiornarlo e ho riscontrato problemi durante l'utilizzo dell'ultima Babel. Il mio "index.js" è:
require('dotenv').config()
import {startServer} from './server'
startServer()
E quando lo eseguo, viene visualizzato l'errore "SyntaxError: impossibile utilizzare l'istruzione import all'esterno di un modulo". Per prima cosa ho provato a fare le cose per convincere TPTB * che questo era un modulo (senza successo). Quindi ho cambiato l '"importazione" in un "requisito" e questo ha funzionato.
Ma ora ho circa due dozzine di "importazioni" in altri file che mi danno lo stesso errore.
* Sono sicuro che la radice del mio problema è che non sono nemmeno sicuro di cosa si stia lamentando del problema. Ho pensato che fosse Babel 7 (dato che vengo da Babel 6 e ho dovuto cambiare i preset) ma non sono sicuro al 100%.
La maggior parte di ciò che ho trovato per le soluzioni non sembra applicarsi al Nodo diritto. Come questo qui:
Importazione modulo ES6 che dà "Uncaught SyntaxError: identificatore imprevisto"
Dice che è stato risolto aggiungendo "type = module" ma questo in genere andrebbe nell'HTML, di cui non ne ho. Ho anche provato a usare i vecchi preset del mio progetto:
"presets": ["es2015", "stage-2"],
"plugins": []
Ma questo mi dà un altro errore: "Errore: i file Plugin / Preset non possono esportare oggetti, solo funzioni".
AGGIORNAMENTO: Ecco le dipendenze con cui ho iniziato:
"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
per 'ts-jest/presets/js-with-ts'
- hanno ancora alcune altre questioni, ma questo risolto il grande. ..... eh sì, il mio problema era relativo ai test ... le build normali andavano bene