vue 打包失败问题UglifyJs Unexpected token: name

注:适用于大多数 UglifyJs Unexpected token: name 的情况,犹如 element-uiimage-conversionxlsx等插件。

问题背景:

最近在做一个 vue读取本机的excel文件的两种方式 的需求,即本地浏览器将用户上传的excel文件解析出来并展示给用户查看,再选择要导入的数据,将其调用接口保存到数据库。

在打包时(jenkins构建)报了一个错误,如下:

ERROR in static/js/24.js from UglifyJs
Unexpected token: name (_fs) [./~/xlsx/xlsx.mjs:3163,0][static/js/24.js:3200,4][39m[22m

  Build failed with errors.

Build step 'Execute shell' marked build as failure
Finished: FAILURE

问题原因:

所使用的插件中,使用了ES6 的语法,UglifyJs只支持 ES5,无法对 ES6进行混淆压缩

至于ES6语法,犹如:let、箭头函数等,请自行度娘。

问题解决:

修改打包文件webpack.base.conf.js设置:

找到 工程/build 目录下的webpack.conf.js 文件增加如下配置,用 babel 解析。

写法如下:

{
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'), resolve('node_modules/xxx')]
}

我的工程写法:

{
	test: /\.(js|mjs)$/,
	loader: 'babel-loader',
	include: [
	    resolve('src'),
        resolve('test') ,
        resolve('/node_modules/element-ui/src'),
        resolve('/node_modules/element-ui/packages'),
        resolve('/node_modules/image-conversion'),
		resolve('/node_modules/xlsx'),
   ]
}

说明:加mjs是因为/node_modules/xlsx用到了mjs,所以此类插件还需要追加 |mjs

最后:

vue读取本机的excel文件的两种方式

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值