注:适用于大多数
UglifyJs Unexpected token: name
的情况,犹如element-ui
、image-conversion
、xlsx
等插件。
问题背景:
最近在做一个 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文件的两种方式
最后
以上就是真实丝袜最近收集整理的关于vue 打包失败问题UglifyJs Unexpected token: name的全部内容,更多相关vue内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复