Vue3 去除 vue warn 及生產環(huán)境去除console.log的方法
1.Vue中異常處理包含以下幾個方面的技巧
- errorHandler
errorHandler是Vue中最廣泛使用的異常處理方式
Vue.config.errorHandler = function(err, vm, info) { }
err指代error對象,info是一個Vue特有的字符串,vm指代Vue應用本身。記住在一個頁面你可以有多個Vue應用。這個error handler作用到所有的應用。
Vue.config.errorHandler = function(err, vm, info) { console.log(`Error: ${err.toString()}\nInfo: ${info}`); }
warnHandlerwarnHandler用來捕獲Vue warning。記住在生產環(huán)境是不起作用的
Vue.config.warnHandler = function(msg, vm, trace) { }
msg和vm都容易理解,trace代表了組件樹。請看下面的例子:
Vue.config.warnHandler = function(msg, vm, trace) { console.log(`Warn: ${msg}\nTrace: ${trace}`); }
- renderError
renderError 和前面兩個不同,這個技巧不適用于全局,和組件相關。并且只適用于非生產環(huán)境。
- errorCaptured
errorCaptured是最后一個和Vue相關的技巧。當捕獲一個來自子孫組件的錯誤時被調用。此鉤子會收到三個參數:錯誤對象、發(fā)生錯誤的組件實例以及一個包含錯誤來源信息的字符串。此鉤子可以返回 false 以阻止該錯誤繼續(xù)向上傳播。
- window.onerror (不僅僅針對Vue)
2.vue3去除控制臺的warn 信息
const app = createApp(App) app.config.warnHandler = () => null
3.vue3生產環(huán)境配置不打印console.log
1.安裝插件
npm install babel-plugin-transform-remove-console --save-dev
2.babel.config.js中加入如下配置
const prodPlugin = [] if (process.env.NODE_ENV === 'production') { // 如果是生產環(huán)境,則自動清理掉打印的日志,但保留error 與 warn prodPlugin.push([ 'transform-remove-console', { // 保留 console.error 與 console.warn exclude: ['error', 'warn'] } ]) } module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ], plugins: [ ...prodPlugin ] }
到此這篇關于Vue3 去除 vue warn 以及生產環(huán)境去除console.log的文章就介紹到這了,更多相關Vue3 去除 vue warn內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺析vue 函數配置項watch及函數 $watch 源碼分享
這篇文章主要介紹了vue 函數配置項watch及函數 $watch 源碼分享 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11vue+element項目實時監(jiān)聽div寬度的變化
這篇文章主要介紹了vue+element項目里實時監(jiān)聽某個div寬度的變化,然后執(zhí)行相應的事件,本文結合示例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-08-08