babelのバージョンエラーについて
babel自体のバージョンとbabel-loaderのバージョンの互換性が整合
できていないとエラーになる。
例えば、babel-loader8を使うには、babel7がインストールされていなければいけない。
“babel-core”や”babel-preset-react”をそのまま使おうと
すると、cannot resolveエラーが返ってくる。
これはbabel-loader8に各プラグインが対応していない為。
babel-loader8の場合は、※頭文字に@がついたプラグインを
インストールする必要がある。
※”@babel/core”、”@babel/preset-env”、”@babel/preset-react”等
各プラグインがnpm installできたら上記のプラグイン二つを.babelrcに記述する。
</pre> //.babelrc { "presets": ["@babel/preset-env", "@babel/preset-react" ], } <pre>
babel-loader7を使う場合は、”babel-core”や”babel-preset-react”とそのまま
追加して使用できる。
もしbabel-loader7から8に乗り換えたい場合は旧型の”babel-core”や”
babel-preset-react”をアンインストールしてから
新しい”@babel/preset-env”等を入れる必要がある。(競り合いが起きるので)
自分のbabelのバージョンを確かめてからそれぞれ互換性のある
プラグインをどしどし入れるのが一番ややこしくなさそう。