ことの経緯
Laravel Mixでコンパイルしたapp.js
をそのまま使用すると、IE11では下記のような「SCRIPT1002: 構文エラーです。」が発生
開いてみると
どうやら、webpackBootstrap
のアロー関数でエラーが出ているらしい
解消するために入れるパッケージ
公式が配布しているlaravel-mix-polyfill
というパッケージがあったので入れてみたけどIEエラーは解消されず・・・@babel/polyfill
(参考記事)も非推奨になっているので、
公式に記載の通りcore-js
とregenerator-runtime
を使用して解消してみる
めも
- core-jsは、未対応のメソッドを
polyfill
から使用できるようにするパッケージ - regenerator-runtimeは、
async/await
を利用するために必要なパッケージ
core-jsをインストールする
npm install core-js --save
regenerator-runtimeはデフォルトでnode_modules
に入ってたのでinstall不要だった
app.jsを変更する
- 続いて
resources/js/app.js
を編集する
<!-- 省略 -->
window.Vue = require('vue').default
import 'core-js/stable' // ⭐️ 追加
import 'regenerator-runtime/runtime' // ⭐️ 追加
<!-- 省略 -->
これでコンパイル & 確認したところ無事動作した〜
IEブラウザにて、Laravel Mixでコンパイルした
app.js
を読み込むと、「SCRIPT1002: 構文エラーです。」と出てVueなどが動作しないこの問題を
core-js
とregenerator-runtime
を使って解消する