diff --git a/assets/config.json b/assets/config.json index 88d3ab7..a6edc97 100644 --- a/assets/config.json +++ b/assets/config.json @@ -1,6 +1,7 @@ { "entry": { "main": [ + "./scripts/util/public-path.js", "./scripts/main.js", "./styles/main.scss" ], diff --git a/assets/scripts/util/public-path.js b/assets/scripts/util/public-path.js new file mode 100644 index 0000000..af588c2 --- /dev/null +++ b/assets/scripts/util/public-path.js @@ -0,0 +1,8 @@ +/* globals WEBPACK_PUBLIC_PATH */ + +// Dynamically set absolute public path from current protocol and host +if (WEBPACK_PUBLIC_PATH !== false) { + /* eslint-disable no-undef */ + __webpack_public_path__ = location.protocol + '//' + location.host + WEBPACK_PUBLIC_PATH; + /*eslint-enable no-undef*/ +} diff --git a/watch.js b/watch.js index 95189ff..0a867bf 100644 --- a/watch.js +++ b/watch.js @@ -9,15 +9,9 @@ var webpackConfig = require('./webpack.config'), config = require('./assets/config'); // Internal variables -var host = 'http://localhost', - port = config.devPort || '3000', - compiler; - -webpackConfig.output.publicPath = host + ':' + port + config.output.publicPath; -compiler = webpack(webpackConfig); +var compiler = webpack(webpackConfig); browserSync.init({ - port: port, proxy: { target: config.devUrl, middleware: [ diff --git a/webpack.config.js b/webpack.config.js index 13658fd..ba5de4e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -191,6 +191,9 @@ webpackConfig = { 'window.jQuery': 'jquery', 'Tether': 'tether', 'window.Tether': 'tether' + }), + new webpack.DefinePlugin({ + WEBPACK_PUBLIC_PATH: (argv.watch === true) ? JSON.stringify(path.join(config.publicPath, dist)) : false }) ], postcss: [