Only CSS references need to traverse

The path adjustment for assets in bundles is only needed with CSS files.  Paths
referenced in JS files are written to elements, where they are relative to the
document.
This commit is contained in:
J. Ryan Stinnett 2019-01-18 15:47:14 -06:00
parent 7418815637
commit cf0b2816c1
1 changed files with 13 additions and 12 deletions

View File

@ -59,27 +59,28 @@ module.exports = {
// lifetime for assets while still delivering changes quickly. // lifetime for assets while still delivering changes quickly.
oneOf: [ oneOf: [
{ {
// Images referenced in HTML files // Images referenced in CSS files
issuer: /\.html$/, issuer: /\.(scss|css)$/,
loader: 'file-loader',
options: {
name: '[name].[hash:7].[ext]',
outputPath: getImgOutputPath,
},
},
{
// Images referenced in JS and CSS files
loader: 'file-loader', loader: 'file-loader',
options: { options: {
name: '[name].[hash:7].[ext]', name: '[name].[hash:7].[ext]',
outputPath: getImgOutputPath, outputPath: getImgOutputPath,
publicPath: function(url, resourcePath) { publicPath: function(url, resourcePath) {
// JS and CSS image usages end up the `bundles/[hash]` output // CSS image usages end up in the `bundles/[hash]` output
// directory, so we adjust the final path to navigate up twice. // directory, so we adjust the final path to navigate up
// twice.
return path.join("../..", getImgOutputPath(url, resourcePath)); return path.join("../..", getImgOutputPath(url, resourcePath));
}, },
}, },
}, },
{
// Images referenced in HTML and JS files
loader: 'file-loader',
options: {
name: '[name].[hash:7].[ext]',
outputPath: getImgOutputPath,
},
},
], ],
}, },
], ],