J'ai un projet ApolloServer qui me pose problème, alors j'ai pensé que je pourrais le mettre à jour et j'ai rencontré des problèmes lors de l'utilisation du dernier Babel. Mon "index.js" est:
require('dotenv').config()
import {startServer} from './server'
startServer()
Et lorsque je l'exécute, j'obtiens l'erreur "SyntaxError: Impossible d'utiliser l'instruction d'importation en dehors d'un module". J'ai d'abord essayé de faire des choses pour convaincre TPTB * qu'il s'agissait d'un module (sans succès). J'ai donc changé le "import" en "besoin" et cela a fonctionné.
Mais maintenant, j'ai environ deux douzaines d '"importations" dans d'autres fichiers, ce qui me donne la même erreur.
* Je suis sûr que la racine de mon problème est que je ne suis même pas sûr de ce qui se plaint du problème. J'ai en quelque sorte supposé que c'était Babel 7 (puisque je viens de Babel 6 et j'ai dû changer les préréglages) mais je ne suis pas sûr à 100%.
La plupart de ce que j'ai trouvé pour les solutions ne semble pas s'appliquer au nœud droit. Comme celui-ci ici:
Importation du module ES6 donnant "SyntaxError non capturée: identifiant inattendu"
Dit qu'il a été résolu en ajoutant "type = module" mais cela irait généralement dans le HTML, dont je n'en ai pas. J'ai également essayé d'utiliser les anciens préréglages de mon projet:
"presets": ["es2015", "stage-2"],
"plugins": []
Mais cela m'obtient une autre erreur: "Erreur: les fichiers Plugin / Preset ne sont pas autorisés à exporter des objets, seulement des fonctions."
MISE À JOUR: Voici les dépendances avec lesquelles j'ai commencé:
"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
sur 'ts-jest/presets/js-with-ts'
- a encore d'autres problèmes, mais cela a résolu le gros problème. ..... euh oui, mon problème était lié aux tests ... les versions normales étaient