問題
nuxtでアプリを作っていた時に、IE11に対応する必要があった。
babelやpolyfillを噛ませればいい感じにしてくれるらしいが、package.jsonやnuxt.configにそれっぽい記述をしても、一向にbabelが働いてくれてる気がしない。
試したこと
この他にも色々試しが、エラー内容すら変わらない
結局
npm run dev
じゃbabelが働かないらしい
npm run build
してnpm run start
したら、ちゃんとbabelが働いて、IE11でも表示することができた。
ちなみにその時の設定はこれ→レガシーブラウザと向き合うNuxt.js
おまけ(babelの色々なやつが何やっているか)
ここのページをgoogle翻訳しただけ→https://www.thebasement.be/working-with-babel-7-and-webpack/
@バベル/コア
このパッケージは、その名のとおり、コアパッケージです。このパッケージは、JavaScriptコードのコンパイルと使用可能なコードの出力を担当します。デフォルトではローカルの設定が使用されますが、後で詳しく説明します。
@バベル/登録
このパッケージは、私たちのWebpack設定でjavascriptの新機能を使うことを可能にします。だから私たちが出力しようとしているコードがBabelを通して走るだけでなく、Webpackのための私達のjavascript設定ファイルもそれを通して走るでしょう。
@ babel / preset-env
どのブラウザがどのJavaScript機能をサポートしているかを知ることは、コードを変換するのに不可欠です。これはpreset-envが入ってくるところです。それはあなた自身の入力に基づいて、どんな変換が適用されるべきであるかを取り扱います。あなたはBabelに「私はこれらのブラウザのサポートが必要だ」と言っています、そしてそれはあなたの提供するリストで動くようにあなたのjavascriptを変えます。
@バベル/ポリフィル
時にはあなたがサポートしたいブラウザが特定の機能のためにもう少し特別な助けを必要とします。 @ babel / polyfillは、どのブラウザをサポートしたいかに基づいて、注目の人たちにpolyfillを提供します。
バベルローダー
私たちはWebpackを使うので、このパッケージはBabelとWebpackを使ってコードを変換することを可能にします。