ERROR in app.bundle.js from UglifyJs Unexpected token: name «element», expected: punc «;» 的错误处理

48 篇文章 4 订阅
7 篇文章 2 订阅

遇到问题

webpack打包时使用UglifyJsgithub地址)来压缩美化JS代码,在npm run build时报错了:

// webpack.prod.js 内容
const merge = require('webpack-merge')
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
const common = require('./webpack.common.js')

module.exports = merge(common, {
    plugins: [
        new UglifyJSPlugin()
    ]
})

报错截图:
报错

解决方法

需要安装babel-preset-es2015,若babel-corebabel-loader没有安装的话也要安装上:

npm install --save-dev babel-loader babel-core babel-preset-es2015

安装完以后,再修改webpack.prod.js中添加rules规则:

const merge = require('webpack-merge')
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
const common = require('./webpack.common.js')

module.exports = merge(common, {
    plugins: [
        new UglifyJSPlugin()
    ],
    module: {
        rules: [
            {
                test: /\.js$/,
                use: [{
                    loader: 'babel-loader',
                    options: {
                        presets: ['es2015']
                    }
                }],
                exclude: /node_modules/
            }
        ]
    }
})

再执行npm run build,如果出现了以下错误(babel相关的错误):
babel报错
这个错误日志指出了原因:找不到'@babel/core',再按照错误提示的操作说明可以知道:babel-loader@8 需要 Babel 7(里面的包'@babel/core'),如果你想要使用 Babel 6.x版本,你应该安装'babel-loader@7'。在package.json文件中可以看到我们安装的版本:
babel版本
那我们就按照提示进一步处理:

npm install --save-dev babel-loader@7

此时package.json文件中安装的版本:
babel版本
此时再执行npm run build即可成功构建了。

参考文章:
https://segmentfault.com/a/1190000011212544

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码飞_CC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值