vue-cli 3.x 移除console总结

网上找了很多vue-cli 3.x的配置,很多已经不适用了,把采坑的经历记录下来,供参考。

一、使用 uglifyjs-webpack-plugin 插件#

配置如下:

Copy
// vue.config.js const UglifyJsPlugin = require("uglifyjs-webpack-plugin") module.exports = { configureWebpack: { optimization: { minimizer: [ new UglifyJsPlugin({ uglifyOptions: { compress: { warnings: false, drop_console: true,//console drop_debugger: false, pure_funcs: ['console.log']//移除console } } }) ] } }, }

没成功报错如下

Copy
$ vue-cli-service build ⠋ Building for production... ERROR Failed to compile with 5 errors 11:19:57 AM error static/js/app.2cd76486.js from UglifyJs Unexpected token: punc «(» [static/js/app.2cd76486.js:1,23125] error static/js/chunk-66db1624.14c7d3b2.js from UglifyJs Unexpected token: punc «(» [static/js/chunk-66db1624.14c7d3b2.js:1,733956] error static/js/exception_403.5d780122.js from UglifyJs Unexpected token: punc «(» [static/js/exception_403.5d780122.js:1,281] error static/js/exception_404.3457fc52.js from UglifyJs Unexpected token: punc «(» [static/js/exception_404.3457fc52.js:1,281] error static/js/exception_500.94c7c527.js from UglifyJs Unexpected token: punc «(» [static/js/exception_500.94c7c527.js:1,283] ERROR Build failed with errors. error Command failed with exit code 1.

二、配置optimization.minimizer#

Copy
// vue.config.js module.exports = { chainWebpack: (config) => { if (process.env.NODE_ENV === 'production') { config.optimization.minimizer[0].options.terserOptions.compress.warnings = false config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ['console.log'] } } }

最终还是没有成功,报错如下:

Copy
$ vue-cli-service build ⠋ Building for production... ERROR TypeError: Cannot read property 'options' of undefined TypeError: Cannot read property 'options' of undefined

三、使用babel-plugin-transform-remove-console插件#

参考 https://forum.vuejs.org/t/remove-console-logs-from-production-buils/39327

Copy
# 安装依赖库 $ npm install babel-plugin-transform-remove-console --save-dev # or $ yarn add babel-plugin-transform-remove-console --dev

【babel.config.js】配置如下

Copy
const plugins = ["@vue/babel-plugin-transform-vue-jsx"] // 生产环境移除console if(process.env.NODE_ENV === 'production') { plugins.push("transform-remove-console") } module.exports = { plugins: plugins, presets: [ [ '@vue/app', { modules: false, targets: { browsers: ["> 1%", "last 2 versions", "not ie <= 8", "Android >= 4", "iOS >= 8"] }, useBuiltIns: 'entry', } ] ] }

总结该方案成功了

posted @   大圣巴巴  阅读(6760)  评论(2编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示
目录