Webpack JavaScript не работает на IE11 - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть сайт, где javascript не работает на IE11

Я новичок в webapck, так что это часть моего webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");
const CopyWebpackPlugin = require('copy-webpack-plugin')
var babelenv = require('babel-preset-env');
const webpack = require('webpack');

module.exports = {
  devtool: "source-map",
  mode: 'production',
  entry: {
    main: "./assets/index.js",
    app: [
      "./node_modules/bootstrap/dist/js/bootstrap.min.js",
      "./node_modules/popper.js/dist/popper.min.js",
      "./node_modules/js-cookie/src/js.cookie.js",
      "./node_modules/jqueryrouter/dist/js/jquery.router.min.js",
      "./assets/js/app.js",
      "./node_modules/ekko-lightbox/dist/ekko-lightbox.min.js"
    ]
    catalogue: [
      "./assets/js/catalogue.js",
    ]
  },

  output: {
    path: path.resolve(__dirname, "htdocs/assets"),
    filename: "js/[name].js",
    publicPath: "/assets/"
  },


  module: {
    rules: [{
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: [babelenv]
          }
        }
      },
      {
        test: /\.s?[c|a]ss$/,
        use: [
          "style-loader",
          MiniCssExtractPlugin.loader,
          "css-loader",
          "postcss-loader",
          "sass-loader"
        ]
      }
    ]
  }
};

.babelrc

{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 2 versions", "ie >= 11"]
      },
      "useBuiltIns": true
    }],

  ]
}

Чего мне не хватает?Ошибка javascript вызывается в простой функции и в popper.js

Я не совсем уверен, правильно ли использовать param devtool, если .babalrc выполняется правильно и если код совместим для ie11

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Меня беспокоит строка:

rules: [{
    test: /\.js$/,
    exclude: /node_modules/,
    use: {
      loader: 'babel-loader',
      options: {
        presets: [babelenv]
      }
    }
  },

К сожалению, я не знаю, что именно находится в вашей консоли IE, каково ваше сообщение об ошибке, но у меня есть догадка, что у вас есть какой-то пакетв ваших node_modules, написанных на ES6, а ваш файл webpack пропускает каждый пакет node_module и применяет только предустановки babel к вашему коду.Я мог бы помочь больше, если вы можете дать мне сообщение об ошибке с вашей консоли IE.

Если вам удастся найти пакет, который доставляет вам проблемы, вы можете попытаться включить его в процесс трансплантации своего ребенка, написав:

  {
    test: /\.js$/,
    exclude: /node_modules\/(?!(your-es6-package|another-package)\/).*/,
    use: [
      { loader: 'babel-loader' }
    ]
  }

И да, добавление отсутствующего babel-polyfill также может помочь.

0 голосов
/ 23 ноября 2018

Вам не хватает babel-polyfill .

...