diff --git a/index.js b/index.js
index 5dc6d7e..62dd240 100644
--- a/index.js
+++ b/index.js
@@ -75,7 +75,11 @@ HtmlWebpackPlugin.prototype.apply = function (compiler) {
if (self.options.favicon) {
return self.addFileToAssets(self.options.favicon, compilation)
.then(function (faviconBasename) {
- assets.favicon = faviconBasename;
+ if (compilation.options.output.publicPath) {
+ assets.favicon = compilation.options.output.publicPath + faviconBasename;
+ } else {
+ assets.favicon = faviconBasename;
+ }
});
}
})
diff --git a/spec/HtmlWebpackPluginSpec.js b/spec/HtmlWebpackPluginSpec.js
index 135b33b..ec65157 100644
--- a/spec/HtmlWebpackPluginSpec.js
+++ b/spec/HtmlWebpackPluginSpec.js
@@ -770,6 +770,22 @@ describe('HtmlWebpackPlugin', function () {
}, [//], null, done);
});
+ it('adds a favicon with publicPath set', function (done) {
+ testHtmlPlugin({
+ entry: path.join(__dirname, 'fixtures/index.js'),
+ output: {
+ path: OUTPUT_DIR,
+ publicPath: '/some/',
+ filename: 'index_bundle.js'
+ },
+ plugins: [
+ new HtmlWebpackPlugin({
+ favicon: path.join(__dirname, 'fixtures/favicon.ico')
+ })
+ ]
+ }, [//], null, done);
+ });
+
it('adds a favicon with inject enabled', function (done) {
testHtmlPlugin({
entry: path.join(__dirname, 'fixtures/index.js'),