webpack压缩打包不成功

本文介绍了解决项目中使用pinyin模块时遇到的打包错误问题。提供了两种思路:一是将ES6转换为ES5,并详细说明了配置方法;二是更换压缩打包模块,并给出了具体的实现步骤。

项目压缩打包时,出现如下问题:

ERROR in views/index/index.js from UglifyJs 

Unexpected token: [./node_modules/pingyin/lib/index.js]

思路一:

pinyin模块是es6编写的,index.js文件应转为es5

es6es5的配置方法如下:

1、安装webpackbabel-preset-es2015label-loader模块;

2.babelrc文件写入{ "presets": [ "es2015" ] }

3webpack.config.js文件写入标红代码:

module.exports = {

  entry: {

    "views/index/index"

  },

  output: {

    path: path.resolve(__dirname, './dist'),

    publicPath: '/dist/',

    filename: '[name].js'

  },

  module: {

    loaders: [{

        test: /\.js$/,

         loader: 'babel-loader',

        exclude: /node_modules/

      }]    

}

}

若以上均正确配置,依然报错,推测与UglifyJsPlugin有关。UglifyJsPlugin插件只能压缩打包es5文件

思路二:更换压缩打包模块

1、安装如下模块:

"uglify-js": "git://github.com/mishoo/UglifyJS2#harmony-v2.8.22",

  "uglifyjs-webpack-plugin": “0.4.3",

注意:uglifyjs-webpack-plugin最新版本有问题,请安装0.4.4版本以下

2webpack.config.js文件写入标红代码:

const UglifyJSPlugin = require(‘uglifyjs-webpack-plugin');

if (process.env.NODE_ENV === 'production') {

  module.exports.devtool = '#source-map'

   module.exports.plugins = (module.exports.plugins || []).concat([

     new webpack.DefinePlugin({

      'process.env': {

        NODE_ENV: '"production"'

     }

     }),

    new UglifyJSPlugin({

      sourceMap: true,

      compress: {

        warnings: false

      }

    }),

    new webpack.LoaderOptionsPlugin({

      minimize: true

    })

       ])

}

转载于:https://www.cnblogs.com/respect2017/p/7233337.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值