IE11で querySelectorAll した NodeList を forEach するとエラーが出る。

webpackのentryのJSで

import "@babel/polyfill";

してもだめだったんだけど (ver 7.6.0)

import "core-js/stable";

したら大丈夫だった。 (ver 3.3.6)

webpack.config

参考: babel/babel-loader

module.exports = {
  mode: "development",
  entry: "./src/es2015/main.js",
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: [
          {
            loader: "babel-loader",
            options: {
              presets: [
                "@babel/preset-env"
              ]
            }
          }
        ]
      }
    ]
  },
  output: {
    filename: "./public/assets/js/app.js"
  }
}

babel.rc

browsersの書き方は babel/babel-preset-env 参照

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "browsers": [
            "since 2015",
            "IE 11"
          ]
        }
      }
    ]
  ]
}

package.json の一部

.
.
.
"devDependencies": {
    "@babel/core": "^7.6.4",
    "@babel/preset-env": "^7.6.3",
    "babel-loader": "^8.0.6",
    .
    .
    "core-js": "^3.3.6",
.
.
.

こちらも参考: IEで NodeList を forEach するとエラーになる問題の対処方 – Qiita