Webpack插件开发 - 函数调用父函数的参数

时间:2017-01-22 00:18:38

标签: javascript webpack

在Webpack的文档中列出了此代码段。我想知道callback()函数实际上是做什么的。

function MyPlugin() {
  this.startTime = Date.now();
  this.prevTimestamps = {};
}

MyPlugin.prototype.apply = function(compiler) {
  compiler.plugin('emit', function(compilation, callback) {

    var changedFiles = Object.keys(compilation.fileTimestamps).filter(function(watchfile) {
      return (this.prevTimestamps[watchfile] || this.startTime) < (compilation.fileTimestamps[watchfile] || Infinity);
    }.bind(this));

    this.prevTimestamps = compilation.fileTimestamps;
    callback();
  }.bind(this));
};

module.exports = MyPlugin;

1 个答案:

答案 0 :(得分:1)

这是来自Webpack @ v2,但我相信它解释并适用于:

https://webpack.js.org/pluginsapi/compiler/

  

编译器公开了一个run方法,它启动了webpack的所有编译工作。完成后,它应该调用传入的回调函数。记录统计信息和错误的所有尾端工作都在此回调函数中完成。