Реагируйте 16: синтаксическая ошибка script1002 в IE11 и ниже - PullRequest
0 голосов
/ 18 сентября 2018

screenshot IE11

Я получаю эту ошибку при просмотре приложения на IE11 и ниже. Также приложение возвращает белую страницу.

Что еще хуже, консоль не показывает номер строки, чтобы указать, где и где находится проблема. Это очень трудно понять, что не так. Я использую Webpack 4 и babel-polyfill.

Кто-нибудь может указать мне правильное направление?

Конфигурация Webpack

const HtmlWebPackPlugin = require("html-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
const CleanWebpackPlugin = require("clean-webpack-plugin");
const CopyWebpackPlugin = require("copy-webpack-plugin");
const webpack = require('webpack');
const extractSass = new ExtractTextPlugin({
filename: "[name].[hash].css",
disable: process.env.NODE_ENV === "development"
});
module.exports = {
// mode: 'production',
entry: [
    'babel-polyfill',
    './src/index.js'
],
output: {
    publicPath: '/',
    filename: '[name].[hash].js',
},
module: {
    rules: [
        {
            test: /\.(js|jsx)$/,
            exclude: /node_modules/,
            use: {
                loader: "babel-loader"
            }
        },
        {
            test: /\.(png|svg|jpg|gif)$/,
            use: [{
                loader: "file-loader",
                options: {
                    // name: "./images/[name].[hash].[ext]",
                    name: '[path][name]-[hash:8].[ext]'
                },

            }
            ],

        },
        {
            test: /\.html$/,
            use: [
                {
                    loader: "html-loader",
                    options: { minimize: true }
                }
            ]
        },
        {
            test: /\.scss$/,
            use: extractSass.extract({
                use: [
                    {
                        loader: "css-loader",
                        options: {
                            minimize: true,
                            // sourceMap: true
                        }
                    },
                    {
                        loader: "sass-loader"
                    }],
                // use style-loader in development
                fallback: "style-loader"
            })
        },
        {
            test: /\.css$/,
            use: extractSass.extract({
                fallback: "style-loader",
                use: "css-loader"
            })
        }

    ]
},
devServer: {
    historyApiFallback: true,
    contentBase: './dist',
    hot: true,
},
plugins: [
    extractSass,
    // new ExtractTextPlugin('[name].[hash].css'),
    new CopyWebpackPlugin([
        {from:'src/assets/img/favicon.png',to:'src/assets/img'}
    ]),
    new HtmlWebPackPlugin({
        template: "./src/index.html",
        filename: "./index.html"
    }),
    new CleanWebpackPlugin(['dist']),
    new webpack.NamedModulesPlugin(),
    new webpack.HotModuleReplacementPlugin(),

],
optimization: {
    splitChunks: {
        cacheGroups: {
            commons: {
                test: /[\\/]node_modules[\\/]/,
                name: 'vendor',
                chunks: 'all'
            }
        }
    }
},

};

1 Ответ

0 голосов
/ 09 октября 2018

Я хочу повторить то, что понял Йорнве , так как мне потребовалось некоторое время, чтобы понять это.Пакет query-string не будет работать в IE.Как указано в документации,

Этот модуль предназначен для Node.js 6 или более поздней версии и последней версии Chrome, Firefox и Safari.Если вам нужна поддержка старых браузеров или если ваш проект использует create-реагировать на приложение, используйте версию 5: npm install query-string@5.

Удаление зависимости и написание моих собственных реализацийиз функций исправили проблему для меня.Я не пробовал использовать версию 5 пакета, но, возможно, это тоже исправило бы это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...