zoukankan      html  css  js  c++  java
  • webpack -p压缩打包react报语法错误处理

    前言:在用webpack打包react代码的时候发现一个问题,做一个处理总结。

    我的webpack配置:

    var webpack = require('webpack');
    //打包less插件
    var ExtractTextPlugin = require('extract-text-webpack-plugin');
    //这里的'./css/bundle.css'设置打包地址
    var ExtractLess = new ExtractTextPlugin('./css/bundle.css');
    //打包多个文件插件
    //var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.js');
    var path = require('path');
    module.exports = {
        entry:[
            './reactDom/index.js'
        ],
        output:{
            path:'./build',
            filename:'indexReact.js'
        },
        module:{
            loaders:[
               {test: /.js$/, exclude: /(node_modules|bower_components)/, loader: 'babel',query:{presets:['es2015','react']}},
                {test:/.less$/,loader:ExtractTextPlugin.extract("style-loader", "css-loader!less-loader")},
                //图片文件使用 url-loader 来处理,小于8kb的直接转为base64
                { test: /.(png|jpg)$/, loader: 'url-loader?q=8192'}
    
            ]
        },
        resolve:{
            extensions:['','.js']
         },
    
        plugins:[
            ExtractLess,
           
        ]
    };

    上面看上去一切正常,运行webpack -w时候也没有任何问题

                                

    但是如果我使用-p压缩的话就会报错:

                                

     解决方案:UglifyJsPlugin插件

       在webpack包里面已经自带这个UglifyJsPlugin,我们只要在webpack中的plugins添加即可,代码如下

     plugins:[
            new webpack.optimize.UglifyJsPlugin({
                compress:{
                    warnings:false
                },
                mangle:{
                    except:['$super','$','exports','require']
                }
            })
        ]

    UglifyJsPlugin可以防止$super, $, exports , require,不会被混淆,设置warnings:false就打包时候即可消除warings报警了

          

  • 相关阅读:
    return和yield的区别
    基本装饰器
    javascript实例:两种方式实现tab栏选项卡
    javascript实例:路由的跳转
    javascript实例:点亮灯泡
    标签页QTabWidget
    主窗口QMainWindow和启动画面
    各种对话框
    列表视图QlistView
    拆分窗口QSplitter
  • 原文地址:https://www.cnblogs.com/kuailingmin/p/5643658.html
Copyright © 2011-2022 走看看