Comments (6)
I'd recommend against using both cache-loader and hard-source-webpack-plugin together, since each one incurs a cost on the first (uncached) build to create its cache, and you'll be duplicating a lot of work maintaining two caches of the same thing.
Setting up hard-source-webpack-plugin is really easy for most configs; just drop in the plugin. cache-loader is slightly trickier to set up, since you need to add it to each of your expensive loader chains separately, but it's still not that hard. So if you can, I'd suggest testing the performance of each one with your build. Remember to run webpack once to create the cache, and then again to check the performance with the cache in place.
I had trouble getting hard-source-webpack-plugin working with extract-text-css-plugin (possibly due to webpack-contrib/extract-text-webpack-plugin#612). Otherwise, the two are quite comparable.
This graph shows the performance results (initial and subsequent build, shorter is better) for our codebase, but as always YMMV:
from cache-loader.
You can use both, since generally you don't need to invalidate cache-loader as often as HardSource. The first one only when your loaders configuration or version changes, the second one you need to invalidate with any change of Webpack's config.
from cache-loader.
Hard source
is slower intially for me by double but faster on rebuild by 2x-4x. Great. Same results as @sentience . .cache-loader
is slower than default but not as slow as hard source
on initial build. On rebuild, .cache-loader
is faster but not as fast as hard source
. Both are better than no cache! Im' going with hard-source for now, but keeping .cache-loader as a backup second place.
from cache-loader.
Closing this. Thanks for great responses!
from cache-loader.
Related: Please see a recent comparison of HardSource with DllPlugin (I wrote it)
from cache-loader.
@tarjei Did you find that these plugins actually help with speeding up karma-webpack
for your case?
from cache-loader.
Related Issues (20)
- memory leak when using different splitchunks optimizations options HOT 3
- optimize cache-loader performance
- Should I remove cache-loader in webpack5 HOT 1
- file do not emit at the first build when using cache-loader with file-loader HOT 1
- Exception: Cannot read property 'stat' of undefined HOT 10
- bug report of 1.2.4 HOT 12
- custom write and read are much slower than the default HOT 3
- Module build failed: TypeError: Cannot read property 'async' of undefined at react-app-dashboard/node_modules/babel-loader/lib/index.js:50:27 HOT 1
- Change default cache directory HOT 1
- Should source maps be cached? HOT 1
- Should cache-loader use `module.exports.raw = true` to handle binary file ? HOT 6
- Using relative paths - sources still contains absolute paths HOT 5
- usage with eslint-loader, warnings/errors are swallowed after successful compilation HOT 5
- Can you describe when user should invalidate cache via setup custom cache dir, identity, etc? HOT 2
- using with file-loader, files are not builded if in cache, even if dist folder is empty HOT 5
- Use relative path on this.fs.stat returns stale metadata
- Control `cacheDirectory` with env variable HOT 3
- invalidate with cache HOT 3
- Cache TTL to assests HOT 1
- No files emitted with responsive-loader HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cache-loader.