Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (strapi-middleware-upload-plugin-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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 strapi-middleware-upload-plugin-cache@2.0.0Using yarn
yarn add strapi-middleware-upload-plugin-cache@2.0.0For 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
},
},
}
};