为所有的输出资源添加版本号,以解决缓存问题。

class AssetVersioningPlugin {
  apply(compiler) {
    compiler.hooks.emit.tap('AssetVersioningPlugin', (compilation=> {
      const version = new Date().getTime();
      for (let filename in compilation.assets) {
        compilation.assets[`${filename}?v=${version}`= compilation.assets[filename];
        delete compilation.assets[filename];
      }
    });
  }
}