diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index d27b4ec78c6226015870f85a0cacbf40e99d95bb..c8761e8fe63a319a1b399c1ab69e9a932079b33f 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -164,6 +164,14 @@ import './visibility_select'; import './wikis'; import './zen_mode'; +// set url root for webpack async chunks (assumes config.output.publicPath is an absolute path) +if (gon && gon.relative_url_root) { + const basePath = gon.relative_url_root.replace(/\/$/, ''); + + // eslint-disable-next-line camelcase, no-undef + __webpack_public_path__ = basePath + __webpack_public_path__; +} + // eslint-disable-next-line global-require, import/no-commonjs if (process.env.NODE_ENV !== 'production') require('./test_utils/'); diff --git a/config/webpack.config.js b/config/webpack.config.js index 2e8c94655c13fb51a44b348e1bf3b4793bb5c623..39e665d5c14f6f11d6c358417d6803c3be452de2 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -244,7 +244,6 @@ if (IS_DEV_SERVER) { hot: DEV_SERVER_LIVERELOAD, inline: DEV_SERVER_LIVERELOAD }; - config.output.publicPath = '//' + DEV_SERVER_HOST + ':' + DEV_SERVER_PORT + config.output.publicPath; config.plugins.push( // watch node_modules for changes if we encounter a missing module compile error new WatchMissingNodeModulesPlugin(path.join(ROOT_PATH, 'node_modules'))