打包遇到的问题
这次项目发布生产遇到打包一直报错:
static/js/chunk-libs.771fb7cb.js from UglifyJs
Unexpected token: punc «,» [static/js/chunk-libs.771fb7cb.js:121736,14]
可在打包dev和uat却遇不到这个问题,度娘说的大都是:
在 UglifyJs 的 github issues #78 找到了这样一个解决方案:由于 UglifyJs 只支持 ES5 而 element-ui 可能引入了一部分 ES6 的写法,所以导致 webpack 打包失败,不过我的是移动端并没有 element-ui 的引入所以并不是一样的问题,
但是我推测问题也是出现UglifyJs 只支持 ES5 ,可错误提示并没有指出问题在哪里出现的,一度忙头苍蝇似的想要把这个版本用到的组件都用babel转换,结果都不行
后来还是要重代码层面分析,生产和uat的打包环境配置区别上来下手,后来发现
configureWebpack: config => {
// 移除console debugger
if (productionClear && isProd) {
config.plugins.push(
new UglifyJsPlugin({
uglifyOptions: {
compress: {
drop_console: true, // 删除console.*
pure_funcs: ['console.log'] // 删除console.log
}
}
})
)
}
}
}
},
在webpack的configureWebpack配置里面有用isProd判断是否生产的打包,生产打包就 new UglifyJsPlugin处理console的删除,而报错也是UglifyJs的报错注释后打包正常
注意的是本地打包不会出现这个问题,估计也是和打包环境有关系的
标签:
webpack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示