vue-cli2,vue-cli3,vite 生产环境去掉console.log
console.log一般都是在开发环境下使用的,在生产环境下需要去除 ,如果手动删除未免也太累了,我们可以用插件对于具体环境全局处理。
vue-cli2
项目build 下面webpack.prod.config.js 文件中:
plugins: [ new webpack.DefinePlugin({ 'process.env': env }), new UglifyJsPlugin({ uglifyOptions: { compress: { warnings: false, //drop_console 传递true以放弃对控制台的调用。*功能 drop_console: true, // pure_funces 禁用console.log函数 pure_funcs: ['console.log'] } }, sourceMap: config.build.productionSourceMap, parallel: true }), ...... ]
vue-cli3
vue.config.js 里配置.
configureWebpack: config => { //生产环境取消 console.log if (process.env.NODE_ENV === 'production') { config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true } },
如果生产环境的文件中NODE_ENV 自定义,不是production,上述代码或报错,会显示找不到minimizer, 所以生产环境的NODE_ENV 尽量设置为production
生产环境NODE_ENV 自定义或者为production,都可以用下面的代码
const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); configureWebpack: config => { //生产环境取消 console.log if (process.env.NODE_ENV === 'prod') { optimization: { minimizer: [ new UglifyJsPlugin({ uglifyOptions: { compress: { // warnings: false, drop_console: true, //注释console drop_debugger: true, pure_funcs: ['console.log'] //移除console } } }) ] } } },
vite
1.build.minify为terser时(terser需要npm单独安装):
npm add -D terser
vite.config.ts 里配置.
import { defineConfig } from 'vite' export default defineConfig( { ... build : { minify : 'terser' , terserOptions : { compress : { drop_console : true , drop_debugger : true , } , } , } , ... } )
2. build.minify默认为esbuild时:
build : { esbuild: { drop: mode === 'production' ? ['console', 'debugger'] : [] }, }
到此这篇关于vue-cli2,vue-cli3,vite 生产环境去掉console.log的文章就介绍到这了,更多相关vue 生产环境去掉console.log内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
这篇文章主要介绍了vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08vue axios sessionID每次请求都不同的原因以及修改方式
这篇文章主要介绍了vue axios sessionID每次请求都不同的原因以及修改方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
最新评论