問題を引き起こしているApolloServerプロジェクトを持っているので、最新のBabelを使用すると、プロジェクトを更新して問題が発生する可能性があると思いました。私の「index.js」は:
require('dotenv').config()
import {startServer} from './server'
startServer()
そして、それを実行すると、「SyntaxError:モジュールの外でimportステートメントを使用できません」というエラーが表示されます。最初に、TPTB *にこれがモジュールであると納得させるために何かを試みました(成功しませんでした)。そこで、「インポート」を「必須」に変更し、これが機能しました。
しかし、今では他のファイルに約24の「インポート」があり、同じエラーが発生しています。
*問題の根本原因は、問題の不満がどこにあるかさえわからないことだと確信しています。私はそれがBabel 7であると想定していました(私はBabel 6から来ており、プリセットを変更する必要があったためです)が、100%確実ではありません。
私が見つけたソリューションのほとんどは、まっすぐなノードには当てはまらないようです。このようにここに:
ES6モジュールのインポートで「Uncaught SyntaxError:Unexpected identifier」が表示される
「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'
-まだ他のいくつかの問題がありますが、これにより大きな問題は解決しました。.....ええと、私の問題はテスト関連でした...通常のビルドは問題ありませんでした