using with file-loader, files are not builded if in cache, even if dist folder is empty
ValeryVS opened this issue · 5 comments
- Operating System: ubuntu 16.04
- Node Version: 6.14.3
- NPM Version: 3.10.10
- webpack Version: 4
- cache-loader Version: 3.0.1
Expected Behavior
file-loader
outputs all to assets folder.
cache-loader
used with file-loader
.
While using with file-loader
, if output directory does not content assets folder — get those files from cache and put in assets folder.
Actual Behavior
Webpack doesn't output assets folder, that shoul be generated by file-loader
.
Code
{
test: /.(jpg|jpeg|png|svg|gif|ttf|otf|eot|woff|woff2)$/,
use: [
{
loader: 'cache-loader'
},
{
loader: 'file-loader',
options: {
outputPath: 'assets',
name: isDevelopment ? '[path][name].[ext]' : '[hash].[ext]'
}
}
]
}
How Do We Reproduce?
Add cache-loader
before file-loader
.
You don't need cache-loader
on file-loader
, why you do this? Anyway it should works, please create minimum reproducible test repo, thanks
I encountered the same problem with this config:
{
test: /\.(jpe?g|png|gif)$/,
loaders: [
'cache-loader',
urlLoader,
isProduction && imageLoader,
imageSizeLoader
].filter(Boolean)
},
The comment from @evilebottnawi helped me to realize it should be this:
{
test: /\.(jpe?g|png|gif)$/,
loaders: [
urlLoader,
'cache-loader',
isProduction && imageLoader,
imageSizeLoader
].filter(Boolean)
},
@evilebottnawi It might a good idea to mention in the readme that it should not be placed before any loader that has side effects like emitFile
.
You don't need
cache-loader
onfile-loader
, why you do this? Anyway it should works, please create minimum reproducible test repo, thanks
It's needed if you have expensive plugins for optimizing images or other assets.
You don't need
cache-loader
onfile-loader
, why you do this? Anyway it should works, please create minimum reproducible test repo, thanks
https://github.com/Akiq2016/test-cache-loader
here is my minimum reproducible test repo
Please migrate on https://webpack.js.org/configuration/other-options/#cache