用webpack的uglifyJS压缩ES6代码报错

查看:994
本文介绍了用webpack的uglifyJS压缩ES6代码报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

不能用webpack压缩ES6的代码吗?去掉ES6代码就正常了

出错的代码处,都是对象属性简写,箭头函数等ES6代码

module.exports = {
    mounted(){this.ready = true} //出错代码行
}

补充:
下载的npm包都是刚下的

再次补充:
发现问题出在babel没把代码转成ES5

"babel-core": "^6.17.0",
"babel-loader": "^6.2.5",
"babel-plugin-transform-runtime": "^6.15.0",
"babel-preset-es2015": "^6.16.0",
"babel-runtime": "^6.11.6",
"webpack": "^1.13.2",
"webpack-dev-server": "^1.16.2"

babel的配置,配置在webpack.config.js的loader

loaders: [
        { test: /\.vue$/, loader: 'vue' },
        { test: /\.less$/, loader: "style!css!less" },
        { test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=233&name=images/[name].[hash:6].[ext]' },
        { test: /\.js$/, exclude: /node_modules/, loader: 'babel', query: { presets: ['es2015']}},
    ]

uglifyJS的配置:

new webpack.optimize.UglifyJsPlugin({
    compress: {
        warnings: false,
        drop_console: true
    },
})

解决方案

webpack真是越来越搞不懂了,试着试着bug就被解决了
webpack.config.js改成这样就行了

module: {
        loaders: [
            { test: /\.js$/, exclude: /node_modules/, loader: 'babel'},
            { test: /\.vue$/, loader: 'vue' },
            { test: /\.less$/, loader: "style!css!less" },
            { test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=233&name=images/[name].[hash:6].[ext]' },
        ],

    },
    babel: {
        babelrc: false,
        presets: [
            ['es2015'],
        ],
    }

这篇关于用webpack的uglifyJS压缩ES6代码报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆