I have very big images in my assets, which slows down the site by a lot. Is there any way to compress image assets at build time?
The most promising guide I have found for that is this one here, which describes how to use the imagemin package in combination with the ngx-build-plus package.
Unfortunately, after following the tutorial, I get the following error:
[error] TypeError: Cannot assign to read only property 'main.977fe6373cfd108d.js' of object '#<Object>'
at ImageminPlugin._callee2$ (/.../node_modules/imagemin-webpack-plugin/dist/index.js:264:48)
at tryCatch (/.../node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js:62:40)
// ...
Is there any way to compress asset images on build?
Angular Version: 13.1.0
CodePudding user response:
I would never do that! because its against the convetions You should try Firebase storage, they give you 1 GB for free, and its easy to implement.
CodePudding user response:
If you have very big image assets it should be hosted separately in a service like amazons3 or Google Cloud Storage.
Apart from making your load time and builds faster it will also help to load image depending on screen resolution. You can either automate this using lamda/cloud functions or manually compress images to different sizes and serve them based on device resolution.