在 webpack watch 期间记录当前时间
Log current time during webpack watch
我正在尝试改善 webpack 的开发人员体验,并且我想在 运行ning watch 命令时记录当前时间,这样我就知道什么时候在幕后发生错误,让 watch 不执行但没有错误(很高兴知道最后一次编译 运行 和最后一次更改某个项目文件的时间)。我找不到那个选项 @ https://webpack.js.org/configuration/watch/
就像打字稿编译器的工作方式一样。
你可以使用 webpack 编译器 watchRun
hook。
使用 watchRun
挂钩创建插件
const PLUGIN_NAME = 'TimeLoggerPlugin';
class TimeLoggerPlugin {
apply(compiler) {
compiler.hooks.watchRun.tap(PLUGIN_NAME, (compiler) => {
const logger = compiler.getInfrastructureLogger(PLUGIN_NAME);
logger.info(`[Message from ${PLUGIN_NAME}] Compilation Done ${new Date().toLocaleString()}`);
})
}
}
module.exports = TimeLoggerPlugin;
在你的 webpack 配置中导入它
const TimeLoggerPlugin = require('./TimeLoggerPlugin');
并将其传递给插件数组
plugins: [ new TimeLoggerPlugin()]
You can add you custom functionality as per requirement into watchRun
for additional output.
我正在尝试改善 webpack 的开发人员体验,并且我想在 运行ning watch 命令时记录当前时间,这样我就知道什么时候在幕后发生错误,让 watch 不执行但没有错误(很高兴知道最后一次编译 运行 和最后一次更改某个项目文件的时间)。我找不到那个选项 @ https://webpack.js.org/configuration/watch/ 就像打字稿编译器的工作方式一样。
你可以使用 webpack 编译器 watchRun
hook。
使用 watchRun
挂钩创建插件
const PLUGIN_NAME = 'TimeLoggerPlugin';
class TimeLoggerPlugin {
apply(compiler) {
compiler.hooks.watchRun.tap(PLUGIN_NAME, (compiler) => {
const logger = compiler.getInfrastructureLogger(PLUGIN_NAME);
logger.info(`[Message from ${PLUGIN_NAME}] Compilation Done ${new Date().toLocaleString()}`);
})
}
}
module.exports = TimeLoggerPlugin;
在你的 webpack 配置中导入它
const TimeLoggerPlugin = require('./TimeLoggerPlugin');
并将其传递给插件数组
plugins: [ new TimeLoggerPlugin()]
You can add you custom functionality as per requirement into
watchRun
for additional output.