diff --git a/webpack.config.js b/webpack.config.js index e02c1050..e44d70ec 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -69,7 +69,8 @@ module.exports = { // CSS image usages end up in the `bundles/[hash]` output // directory, so we adjust the final path to navigate up // twice. - return path.join("../..", getImgOutputPath(url, resourcePath)); + const outputPath = getImgOutputPath(url, resourcePath); + return toPublicPath(path.join("../..", outputPath)); }, }, }, @@ -198,3 +199,13 @@ function getImgOutputPath(url, resourcePath) { const outputDir = path.dirname(resourcePath).replace(prefix, ""); return path.join(outputDir, path.basename(url)); } + +/** + * Convert path to public path format, which always uses forward slashes, since it will + * be placed directly into things like CSS files. + * + * @param {string} path Some path to a file. + */ +function toPublicPath(path) { + return path.replace(/\\/g, '/'); +}