strapi-middleware-upload-plugin-cache
v2.1.0
Published
Adds middleware for caching uploaded assets when using @strapi/provider-upload-local
Downloads
320
Readme
strapi-middleware-upload-plugin-cache
Use case
@strapi/provider-upload-localis in use for uploading assets viaMedia Libraryin Strapi (default)- The need for configurable cache-control HTTP response headers (e.g.
cache-control: max-age=1234) + ETag HTTP response header for each asset - More information and differences between
koa-static(used in@strapi/provider-upload-local) andkoa-static-cache(used in this middleware-plugin) can be found here
Installing
For Strapi 4.3+
Strapi 4.3 had breaking changes with asset organization through folders.
Make sure you are using at least v2.1.0 of this library with Strapi 4.3+!
Using npm
npm install strapi-middleware-upload-plugin-cacheUsing yarn
yarn add strapi-middleware-upload-plugin-cacheFor Strapi 4.0.0 - 4.2.X
Using npm
npm install [email protected]Using yarn
yarn add [email protected]For Strapi 3
Version 2.X.X+ of this library is NOT compatible with Strapi v3!
Please make sure to check out the Strapi v3 Docs for the installation & setup.
Setup
For Strapi, add a plugins.js file within the config folder
e.g.
touch config/plugins.jscontaining
module.exports = {
"upload-plugin-cache": {
enabled: true,
config: {
maxAge: 86_400_000,
},
}
};Starting Strapi in dev-mode should log the following:
[2022-02-22 22:22:22.222] debug: [upload-plugin-cache] Initializing ...
[2022-02-22 22:22:22.222] debug: [upload-plugin-cache] Middleware initialized for endpoint='/uploads/(.*)' [maxAge=300000]Configuration Options
With the option dynamic: true files which are not cached on initializations are dynamically loaded. To avoid OOM errors a LRU-cache can be used. For config options of lru-cache use these docs and insert them at lruCache.
module.exports = {
"upload-plugin-cache": {
enabled: true,
config: {
maxAge: 86_400_000,
dynamic: true,
lruCache: {
max: 1000
},
},
}
};