webpack-build-notifier v 2.1.0
使用node-notifier模块来显示系统级的 Webpack 构建错误和警告通知。

安装
npm install webpack-build-notifier --save-dev
1
在 Webpack 配置文件中:
// webpack.config.js
var WebpackBuildNotifierPlugin = require('webpack-build-notifier');
module.exports = {
// ... 省略 ...
plugins: [
new WebpackBuildNotifierPlugin({
title: "My Project Webpack Build",
logo: path.resolve("./img/favicon.png"),
suppressSuccess: true
})
],
// ... 省略 ...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
配置项
| 项目 | 描述 |
|---|---|
| title | 通知的标题。默认值是Webpack Build |
| logo | 通知中 Logo 的图片绝对路径。可选。 |
| sound | 通知显示时的提示音。如果设置为false则不会播放声音。这里可以查到可用的声音,默认采用了Submarine |
| successSound | 成功类通知的提示音。默认值为sound配置项的值。设置为false则静音。该配置项的优先级高于sound。 |
| warningSound | 警告类通知的提示音。默认值为sound配置项的值。设置为false则静音。该配置项的优先级高于sound。 |
| failureSound | 失败类通知的提示音。默认值为sound配置项的值。设置为false则静音。该配置项的优先级高于sound。 |
| compilationSound | 编译通知的提示音。默认值为sound配置项的值。设置为false则静音。该配置项的优先级高于sound。 |
| onCompileStart | 启动编译时调用的函数。可选。该函数接收 1 个参数:{webpack.compilation.Compilation} compilation - webpack Compilation 实例。注意suppressCompileStart必须设置为false |
| onComplete | 编译完成时调用的函数。该函数接收 2 个参数: {webpack.compilation.Compilation} compilation - webpack Compilation 实例。 {CompilationStatus} status - 值为 success、warning、error 中的一个。 |
| suppressSuccess | 定义成功类通知的显示时机。可以设置为以下值: - false 每次成功编译都显示成功通知(默认)。 - true 只在首次成功编译和编译失败后再次编译成功后显示。 - always 不显示成功通知。 - initial 和true类似,但首次成功编译不显示通知。 |
| showDuration | true则显示成功编译的事件,默认值为false. |
| suppressWarning | true表示禁止警告类通知,默认值为false |
| suppressCompileStart | true表示禁止编译开始时的通知(默认值),否则为false |
| activateTerminalOnError | 设置为true的时候会在发生错误时激活终端窗口。需要注意的是该项(目前)只在 Mac OSX 上起效。默认值为false,即不管该配置项的值为多少,只要单击通知,那么终端窗口总是可以显示在最前面。 |
| successIcon | 成功类通知的图标的绝对地址。 默认是 ![]() |
| warningIcon | 成功类通知的图标的绝对地址。 默认是 ![]() |
| failureIcon | 成功类通知的图标的绝对地址。 默认是 ![]() |
| messageFormatter | 函数,返回格式化后的通知信息。 函数接收2个参数: {Object} error/warning - 原始的错误和警告对象。{String} filepath - 出现错误/警告(如果有的话)的文件路径。该函数必须返回字符串。默认的 messageFormatter将显错误/警告信息的文件名称。信息最大长度256个字符。 |
| notifyOptions | node-notifier文档相关的其它配置项。请注意这里的配置项将仅作用于 成功/警告/错误 通知信息(不包括“编译开始”通知)。title、message、sound、contentImage(logo)、icon配置项会被忽略。毕竟这些是通过WebpackBuildNotifier配置项设置的。 |
| onClick | 当通知被点击时触发。默认情况下,它会激活终端。 |
| onTimeout | 当通知被关闭或达到显示时间上限时触发。默认是undefined。 |
TypeScript
该项目是由TypeScript编写的,因而内置了类型生命。如果您的项目的webpack配置也使用了TypeScript(比如:webpack.config.ts),可以利用这一点。
// webpack.config.ts
import * as webpack from 'webpack'
import * as WebpackBuildNotifierPlugin from 'webpack-build-notifier';
const config: webpack.Configuration = {
// ... 省略 ...
plugins: [
new WebpackBuildNotifierPlugin({
title: "My Project Webpack Build",
logo: path.resolve("./img/favicon.png"),
suppressSuccess: true
})
],
// ... 省略 ...
};
export default config;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


