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报警了

          

  • 相关阅读:
    oracle中的exists 和not exists 用法详解
    再次谈谈easyui datagrid 的数据加载
    oracle之trunc(sysdate)
    小菜学习设计模式(五)—控制反转(Ioc)
    vim实用技巧
    003_Linux的Cgroup<实例详解>
    systemd在各个linux发行版的普及
    (部署新java程序,程序报错,需copy的一个包)——java使用siger 获取服务器硬件信息
    中国科学院国家授时中心
    Linux时间同步配置方法
  • 原文地址:https://www.cnblogs.com/kuailingmin/p/5643658.html
Copyright © 2011-2022 走看看