Webpack友好的錯誤提示插件friendly-errors-webpack-plugin


Friendly-errors-webpack-plugin 介紹

Friendly-errors-webpack-plugin識別某些類別的webpack錯誤,並清理,聚合和優先級,以提供更好的開發人員體驗。

我們運行nodejs 可以看到錯誤信息如下:

 

安裝入門

npm install friendly-errors-webpack-plugin --save-dev

基本用法

只需將FriendlyErrorsWebpackPlugin添加到Webpack配置中的插件部分即可。

var FriendlyErrorsWebpackPlugin require('friendly-errors-webpack-plugin');
 
var webpackConfig {
  // ...
  plugins[
    new FriendlyErrorsWebpackPlugin(),
  ],
  // ...
}

關閉錯誤

您需要通過將webpack config quiet選項設置為true來關閉所有錯誤日志記錄。

app.use(require('webpack-dev-middleware')(compiler{
  quiettrue,
  publicPathconfig.output.publicPath,
}));

如果您使用webpack-dev-server,webpack的devServer選項中有一個設置:

// webpack config root
{
  // ...
  devServer{
    // ...
    quiettrue,
    // ...
  },
  // ...
}

如果使用webpack-hot-middleware,則可以通過將log選項設置為false來完成。你可以做一些這樣的事情,具體取決於你的設置:

app.use(require('webpack-hot-middleware')(compiler{
  logfalse
}));

選項

您可以將選項傳遞給插件:

 

new FriendlyErrorsPlugin({
// 運行成功
compilationSuccessInfo:{
message:['你的應用程序在這里運行http:// localhost:3000'],
notes:['有些附加說明要在成功編輯時顯示']
},
// 運行錯誤
onErrors:function(severity,errors){
//您可以收聽插件轉換和優先級的錯誤
//嚴重性可以是'錯誤'或'警告'
},
//是否每次編譯之間清除控制台
//默認為true
clearConsole:true,

//添加格式化程序和變換器(見下文)
additionalFormatters: [],
additionalTransformers: []
})

添加桌面通知

該插件沒有桌面通知的原生支持,需要引入node-notifier,這樣就可以了 。

var NotifierPlugin require('friendly-errors-webpack-plugin');
var notifier require('node-notifier');
var ICON path.join(__dirname'icon.png');
 
new NotifierPlugin({
    onErrors(severityerrors=> {
      if (severity !== 'error'{
        return;
      }
      const error = errors[0];
      notifier.notify({
        title"Webpack error",
        message: severity ': error.name,
        subtitleerror.file || '',
        iconICON
      });
    }
  })
]

API

 

從webpack錯誤中提取相關信息。 這是通過這里的插件完成的
將變換器應用於所有錯誤,以識別和注釋眾所周知的錯誤並為其提供優先級
如果沒有拋出錯誤,則僅獲取最高優先級錯誤或最高優先級警告
將格式化程序應用於所有帶注釋的錯誤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM