vue項目打包清除console.log的四種方法總結(jié)
記錄一下項目中碰到的小問題,打包清除console.log的方法,vue2,vue-cli5.0.0(得注意一下自己項目的vue-cli版本)
第1種:
uglifyjs-webpack-plugin插件,配置在vue.config.js中,不支持es6,已歸檔,不再維護,不推薦,vue-cli3,4可行,vue-cli5中未生效。(我項目中未生效,不附代碼,可自行搜索嘗試)
第2種:
terser-webpack-plugin插件,配置在vue.config.js中,vue-cli5自帶,vue-cli3,4需要下載插件,vue-cli3,4可行,vue-cli5中已無默認對應(yīng)配置屬性’drop_console’,自己添加后依舊未生效。(我項目中未生效,不附代碼,可自行搜索嘗試)
第3種:
babel-plugin-transform-remove-console插件,配置在babel.config.js中,vue-cli5實測可行,vue-cli3,4也可行。(嘗試后,谷歌瀏覽器控制臺僅websocket的打印輸出未清除,其他打印輸出都是清除干凈了的)
下載依賴
npm install babel-plugin-transform-remove-console -D or yarn add babel-plugin-transform-remove-console -D
babel.config.js中
const proPlugins = []; // 判斷環(huán)境 if (process.env.NODE_ENV === 'production') { proPlugins.push('transform-remove-console'); } module.exports = { plugins: [...proPlugins], };
第4種:
不用插件,main.js中判斷生產(chǎn)環(huán)境后window.console.log = function (){};即可,vue-cli5實測可行,vue-cli3,4也可行。(嘗試出來的效果是清除得最干凈的,但不清楚這種侵入式覆蓋的寫法有啥弊端沒有)
main.js中
// 正式環(huán)境清除所有console.log if (process.env.NODE_ENV === 'production') { if (window) { window.console.log = function () {}; } }
總結(jié)
到此這篇關(guān)于vue項目打包清除console.log的四種方法總結(jié)的文章就介紹到這了,更多相關(guān)vue打包清除console.log內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Vue keep-alive 調(diào)用 $destory() 頁面不再被緩存的情況
這篇文章主要介紹了解決Vue keep-alive 調(diào)用 $destory() 頁面不再被緩存的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10全局安裝 Vue cli3 和 繼續(xù)使用 Vue-cli2.x操作
這篇文章主要介紹了全局安裝 Vue cli3 和 繼續(xù)使用 Vue-cli2.x操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Vue2.0基于vue-cli+webpack Vuex的用法(實例講解)
下面小編就為大家?guī)硪黄猇ue2.0基于vue-cli+webpack Vuex的用法(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09