簡體   English   中英

IE11及以下版本的React 16:script1002語法錯誤

[英]React 16: script1002 syntax error on IE11 and below

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'
            }
        }
    }
},

};

我想重申喬恩夫(Jornve)的理解,因為我花了一些時間才弄清楚這一點。 查詢字符串包將無法在IE中使用。 如文檔中所述,

此模塊針對Node.js 6或更高版本以及最新版本的Chrome,Firefox和Safari。 如果要支持較舊的瀏覽器,或者您的項目正在使用create-react-app,請使用版本5:npm install query-string @ 5。

刪除依賴關系並編寫自己的函數實現對我來說解決了這個問題。 我沒有嘗試使用該軟件包的版本5,但是也許也可以修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM