W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
使用 Logger 輸出消息是一種向用戶展示信息的有效方式。
Webpack Logger 可以用在 loader 和 plugin。生成的 Logger 將作為 統(tǒng)計信息 的一部分進(jìn)行輸出,并且用戶可以在 webpack 配置文件 中對 Logger 進(jìn)行配置。
在 Webpack 中使用自定義 Logger API 的優(yōu)點:
通過引入 Webpack Logger API,我們希望統(tǒng)一 Webpack plugins 和 loaders 生成日志的方式,并提供更好的方法來檢查構(gòu)建問題。 集成的 Logging 解決方案可以幫助 plugins 和 loader 的開發(fā)人員提升他們的開發(fā)經(jīng)驗。同時為非 CLI 形式的 Webpack 解決方案構(gòu)建鋪平了道路,例如 dashboard 或其他 UI。
my-webpack-plugin.js
const PLUGIN_NAME = 'my-webpack-plugin';
export class MyWebpackPlugin {
apply(compiler) {
// you can access Logger from compiler
const logger = compiler.getInfrastructureLogger(PLUGIN_NAME);
logger.log('log from compiler');
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
// you can also access Logger from compilation
const logger = compilation.getLogger(PLUGIN_NAME);
logger.info('log from compilation');
});
}
}
my-webpack-loader.js
module.exports = function (source) {
// you can get Logger with `this.getLogger` in your webpack loaders
const logger = this.getLogger('my-webpack-loader');
logger.info('hello Logger');
return source;
};
從上面的 my-webpack-plugin.js 例子中你可以看到,有兩種打印日志的方法,
當(dāng) plugin/logging 與編譯相關(guān)時,建議使用 compilation.getLogger,它們將存儲在 stats 中。對于在編譯周期之外發(fā)生的日志記錄,請改用 compiler.getInfrastructureLogger。
Runtime logger API 僅應(yīng)該用作開發(fā)工具,不應(yīng)該包含在生產(chǎn)模式中。
const logging = require('webpack/lib/logging/runtime');
logging.configureDefaultLogger({
level: 'log',
debug: /something/,
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: