欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中自定義日志打印插件問題

 更新時間:2023年05月20日 16:20:43   作者:codser  
這篇文章主要介紹了Vue中自定義日志打印插件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue自定義日志打印插件

自定義日志管理,打包部署中不會顯示打印的日志

在src目錄下創(chuàng)建log目錄,在log目錄下創(chuàng)建index.js其內容如下:

import Vue from 'vue';
// 獲取當前的環(huán)境
const CURRENTENV = process.env.NODE_ENV;
// 對象轉換為數組
function convertToArray(nodes) {
          let arr = null;
          //兼容ie
          try {
                    arr = Array.prototype.slice.call(nodes, 0);
                    //因為 slice是 array類的方法
                    //而傳進來的參數是一個 DOM對象的數組
                    //所以通過call 方法把 array類的方法放到這個對象里面執(zhí)行
                    //call 的第二個參數是表示向被調用的方法傳進參數
                    //這里的0 表示從index為0的地方開始
          } catch (ex) {
                    // 出現異常就用最常見的方法處理
                    arr = new Array();
                    for (let i = 0; i < nodes.length; i++) {
                              arr.push(nodes[i]);
                    }
          }
          return arr;
}
/**
 * 通用日志打印
 * @param {要打印的日志內容} args 
 * @param {日志標識,默認為log,warn,error,dir} logTag 
 */
function commLog(args,logTag = 'log'){
          if(CURRENTENV !== 'development') return
          switch(logTag){
                    case 'log':console.log(...convertToArray(args));break;
                    case 'warn':console.warn(...convertToArray(args));break;
                    case 'error':console.error(...convertToArray(args));break;
                    case 'dir':console.dir(...convertToArray(args));break;
          }
}
Vue.use({
          install: (Vue) => {
                    // 特別注意:此處不能用箭頭函數,否則函數內部arguments的作用域就變了
                    // 普通日志
                    Vue.prototype.$log = function() {
                              commLog(arguments);
                    };
                    // 警告日志
                    Vue.prototype.$warn= function () {
                              commLog(arguments,'warn');
                    }
                    // 錯誤日志
                    Vue.prototype.$error = function() {
                              commLog(arguments,'error');
                    }
                    // 打印對象
                    Vue.prototype.$dir = function() {
                              commLog(arguments,'dir');
                    }
          }
})
// 導出第二種使用方式
export default  {
          log:function(){
                    commLog(arguments);  
          },
          warn:function(){
                    commLog(arguments,'warn');  
          },
          error:function(){
                    commLog(arguments,'error');  
          },
          dir:function(){
                    commLog(arguments,'dir');  
          }
}

使用方式:

main.js中引入使用:

import './log'

任何.vue組件中使用

this.$log() // 參數同console.log()
this.$warn()
this.$error()
this.$dir()

js文件中使用:

import LOG from '../log'
LOG.log()   // 同console.log()
LOG.warn()
LOG.error()
LOG.dir()

vue打印插件vue-print-nb

插件官網地址https://www.npmjs.com/package/vue-print-nb

1.npm 導入插件

npm install vue-print-nb --save

2.main.js中引用

import Print from 'vue-print-nb'
Vue.use(Print);?

3.頁面上使用有2種方式

<div id="printInfo">打印的內容</div
<el-button size="small" type="primary" v-print="printInfoObj">打印</el-button> ? ??
printInfoObj:{
?? ??? ?id:"printInfo",
?? ??? ?popTitle:"個人檔案",
},
<div id="printInfo">打印的內容</div
<button v-print="'#printMer'">打印</button>

總結 

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue3項目引入pinia報錯的簡單解決

    vue3項目引入pinia報錯的簡單解決

    這篇文章主要介紹了vue3項目引入pinia報錯的簡單解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 一文搞懂vue編譯器(DSL)原理

    一文搞懂vue編譯器(DSL)原理

    本文主要介紹了一文搞懂vue編譯器(DSL)原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • vue-lazyload圖片延遲加載插件的實例講解

    vue-lazyload圖片延遲加載插件的實例講解

    下面小編就為大家分享一篇vue-lazyload圖片延遲加載插件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue3中組件事件和defineEmits示例代碼

    vue3中組件事件和defineEmits示例代碼

    這篇文章主要給大家介紹了關于vue3中組件事件和defineEmits的相關資料,組件事件是Vue組件之間進行通信的一種方式,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • vue 開發(fā)企業(yè)微信整合案例分析

    vue 開發(fā)企業(yè)微信整合案例分析

    這篇文章主要介紹了vue 開發(fā)企業(yè)微信整合,結合具體案例形式分析了vue.js使用企業(yè)微信JSSDK實現手機端程序可以和企業(yè)微信進行整合功能的相關操作技巧,需要的朋友可以參考下
    2019-12-12
  • vue src動態(tài)加載請求獲取圖片的方法

    vue src動態(tài)加載請求獲取圖片的方法

    這篇文章主要為大家詳細介紹了vue src動態(tài)加載請求獲取圖片的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 基于Vue實現樹形穿梭框的示例代碼

    基于Vue實現樹形穿梭框的示例代碼

    這篇文章主要為大家介紹了如何利用Vue實現一個樹形穿梭框,elementUI和ant-d組件庫的穿梭框組件效果都不是很好,所以本文將利用一個新的插件來實現,需要的可以參考一下
    2022-04-04
  • Vue-cli 使用json server在本地模擬請求數據的示例代碼

    Vue-cli 使用json server在本地模擬請求數據的示例代碼

    本篇文章主要介紹了Vue-cli 使用json server在本地模擬請求數據的示例代碼,非常具有實用價值,需要的朋友可以參考下
    2017-11-11
  • 淺談Vue.js 中的 v-on 事件指令的使用

    淺談Vue.js 中的 v-on 事件指令的使用

    這篇文章主要介紹了淺談Vue.js 中的 v-on 事件指令的使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue2 element 彈出框拖拽會出現一層陰影問題解決方法

    vue2 element 彈出框拖拽會出現一層陰影問題解決方法

    這篇文章主要介紹了vue2 element 彈出框拖拽會出現一層陰影問題解決方法,因增加 draggable 屬性導致我彈窗表單清空文本框時,從右向左選中字體會出現拖拽陰影效果,本文給大家介紹vue2 element 彈出框拖拽會出現一層陰影問題解決方法,感興趣的朋友一起看看吧
    2024-01-01

最新評論