.Net Core MVC + ReactJS, проблема с Webpack в браузере Safari - PullRequest
0 голосов
/ 25 июня 2018

Я застрял с этой странной проблемой. Мое приложение отлично работает в Chrome, Firefox, Edge, IE11. Но есть некоторые проблемы в Safari, я даже не вижу точную ошибку в консоли. сообщение в консоли является общим и просит меня не увеличивать / уменьшать сценарии, чтобы увидеть точную ошибку.

Ошибка: * сообщение: "Minified React error # 130; посетите http://facebook.github.io/react/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= для полного сообщения или используйте неминифицированную среду dev для получения полных ошибок и дополнительных полезных предупреждений."

название: "Инвариантное нарушение" *

Точная проблема: если я прокомментирую плагин JSON.stringify, приложение даже не откроется. Консоль выдает следующую ошибку.

"Ошибка типа: 'undefined' не является функцией (вычисляет '(0, d.render)')"

Плагин Uglify не оказывает влияния, если я прокомментирую это, приложение все еще работает, не умаляя мой JS.

Ниже приведен мой файл веб-пакета.

const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const extractCSS = new ExtractTextPlugin('allstyles.css');

module.exports = {
    entry: {
        'common': ['react-datepicker', 'babel-polyfill', 'react', 'react-dom', 'react-redux', 'redux', 'isomorphic-fetch', 'es6-promise'],
        'home': './ClientApp/pages/Home.js',
        'header': './ClientApp/components/shared/Header.js',
        'footer': './ClientApp/components/shared/Footer.js',
        'game': './ClientApp/pages/Game.js',
        'gamesbsport': './ClientApp/pages/GameSBSport.js',
        'gamesbesport': './ClientApp/pages/GameSBESport.js',
        'gamegbkeno': './ClientApp/pages/GameGBkeno.js',
        'gamegbkthree': './ClientApp/pages/GameGBkTHREE.js',
        'gamegblotto': './ClientApp/pages/GameGBlotto.js',
        'gamegbpkten': './ClientApp/pages/GameGBpkTEN.js',
        'gamegbsports': './ClientApp/pages/GameGBsports.js',
        'gamegbssc': './ClientApp/pages/GameGBssc.js',
        'casino': './ClientApp/pages/Casino.js',
        'about': './ClientApp/components/About.js',
        'info': './ClientApp/pages/member/info.js',
        'trade': './ClientApp/pages/member/trade.js',        
        'bonus': './ClientApp/pages/member/bonus.js'        
    },
    output: {
        path: path.resolve(__dirname, 'wwwroot/dist'),
        filename: '[name].js',
        publicPath: '/dist/'
    },
    plugins: [
        extractCSS,
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
            'window.jQuery': 'jquery',
            Popper: ['popper.js', 'default']
        }),
        new webpack.optimize.CommonsChunkPlugin({
            name: ["header", "common", "runtime"],
            minChunks: Infinity
        }),
        new webpack.optimize.OccurrenceOrderPlugin(),
        //new webpack.DefinePlugin({
        //     'process.env': {
        //         'NODE_ENV': JSON.stringify('production')
        //     }
        // }),
         new webpack.optimize.UglifyJsPlugin()
    ],
    module: {
        rules: [
            { test: /\.css$/, use: extractCSS.extract(['css-loader?minimize']) },
            {
                test: /\.js?$/, use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-react', '@babel/preset-env'],
                        plugins: [require('@babel/plugin-proposal-object-rest-spread'),
                        require('@babel/plugin-proposal-class-properties')],
                        babelrc: true
                    }
                }
            },
            {
                test: /\.js?$/,
                loader: 'webpack-module-hot-accept',
                exclude: /node_modules/,
            },
            {
                test: /\.(jpe?g|png|gif|woff|woff2|eot|ttf|svg)(\?[a-z0-9=.]+)?$/,
                loader: 'url-loader?limit=100000'
            }
        ]
    }
};
...