簡體   English   中英

如何在每次執行文本時取消顯示“ WARN:'找不到HammerJS。”?

[英]How can I suppress “WARN: 'Could not find HammerJS.” on each text execution?

執行測試時,每個測試記錄以下內容:

WARN: 'Could not find HammerJS. Certain Angular Material components may not work correctly.'

從《 Angular Material入門指南》中

一些組件( md-slide-togglemd-slidermdTooltip )依靠HammerJS進行手勢。 為了獲得這些組件的完整功能集,必須將HammerJS加載到應用程序中。

基於此,我的結論是我不需要安裝HammerJS,因為我沒有專門使用需要它的Angular Material組件。 如果您不需要它,請不要添加它!

但是,盡管執行了1000多個測試,但每次都打印出該警告確實沒有幫助,因此我想擺脫它或只打印一次。

以下解決方案將:

  1. 僅警告一次缺少HammerJS。
  2. 如果將來最終使用new Hammer()構造函數,則將錯誤輸出到控制台。
  3. 不需要您在測試環境中調用enableProdMode() ,因此您可以繼續受益於雙重更改檢測提供的其他錯誤檢查。

將以下beforeAll函數添加到測試包中:

beforeAll(function() {
    if (!window.hasOwnProperty('Hammer')) {
        window['Hammer'] = function() {
            console.error(
                'HammerJS is not installed. If you\'re now using Angular Material components that require it, please "npm i hammerjs"'
            );
        };
        console.warn('Could not find HammerJS. Certain Angular Material components may not work correctly.');
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM