diff --git a/lib/ChunkManifestPlugin.js b/lib/ChunkManifestPlugin.js index 58e107d..585983b 100644 --- a/lib/ChunkManifestPlugin.js +++ b/lib/ChunkManifestPlugin.js @@ -12,12 +12,12 @@ ChunkManifestPlugin.prototype.apply = function(compiler) { var manifestFilename = this.manifestFilename; var manifestVariable = this.manifestVariable; var oldChunkFilename; + var chunkManifest; compiler.plugin("this-compilation", function(compilation) { var mainTemplate = compilation.mainTemplate; mainTemplate.plugin("require-ensure", function(_, chunk, hash) { var filename = this.outputOptions.chunkFilename || this.outputOptions.filename; - var chunkManifest; if (filename) { chunkManifest = [chunk].reduce(function registerChunk(manifest, c) { @@ -52,5 +52,19 @@ ChunkManifestPlugin.prototype.apply = function(compiler) { return _.replace("\"__CHUNK_MANIFEST__\"", "window[\"" + manifestVariable + "\"][" + chunkIdVar + "]"); }); + + // use htmlWebpackPlugin to inject + compilation.plugin('html-webpack-plugin-before-html-generation', function (htmlPluginData, callback) { + var assets = htmlPluginData.assets; + var webpackManifestHtml = []; + + webpackManifestHtml.push(''); + + assets[manifestVariable] = webpackManifestHtml.join(''); + + callback(null, htmlPluginData); + }) }); };