Comments (2)
HI @webdev4422,
I checked your examples, and the behavior you observed is intended by Next.js and this library.
Let's go through your remarks:
When running next dev give output:
Unhandled Runtime Error
Error: Image with src "/images/main.jpg" is missing required "width" property.
My image code:
<ExportedImage src="/images/main.jpg" alt="Main image" priority />
If run next build - everything work as expected.
This is the exact same behavior you get with a normal Next.js app:
You have to specify some kind of size related behavior.
See for your reference: https://nextjs.org/docs/pages/api-reference/components/image#required-props
And specifically this section:
The width property represents the rendered width in pixels, so it will affect how large the image appears.
Required, except for statically imported images or images with the fill property.
Now for the second point:
Now set: width={640} and height={480}, run next build, inspect DevTools, got output (not expected, broken?):
<img alt="My image" fetchpriority="high" width="640" height="480" decoding="async" data-nimg="1" style="color: transparent;" srcset=" /images/nextImageExportOptimizer/main-opt-640.WEBP 1x, /images/nextImageExportOptimizer/main-opt-1920.WEBP 2x" src="http://localhost:3000/images/nextImageExportOptimizer/main-opt-1920.WEBP">
This is also working as expected. As you are setting a specific width in pixel, the srcscet only includes variants of the sizes array for the next largest width and the 2x width. Higher or lower resolutions are not required, as they will never be rendered.
I would recommend you to read the documentation for responsive image here: https://nextjs.org/docs/pages/api-reference/components/image#responsive-images
from next-image-export-optimizer.
Explicitly setting sizes="100vw"
solve this issue. Now it's work in both build
and dev
modes.
I end up with this code that's working for me:
<ExportedImage
alt="Main hero image that optimized for LCP on first load"
src="/images/main.jpg"
fetchPriority="high"
loading="eager"
width={640}
height={480}
sizes="100vw"
/>
from next-image-export-optimizer.
Related Issues (20)
- process.env.nextImageExportOptimizer_storePicturesInWEBP assumed to be boolean HOT 1
- Images that dont have predefined height HOT 8
- SVG optimization with tools like svgo HOT 2
- Can't optimize two different path HOT 1
- unexpected property: transpilePackages HOT 4
- Srcset not created for Static Images HOT 28
- Output folder not being created on build. HOT 12
- Add support for Picture element HOT 1
- Issue with query string get params HOT 2
- Could not load sharp module error HOT 2
- Export utilities from ExportedImage component HOT 1
- Allow setting location of the hashes.json and optimized images
- Add `unoptimized` configuration option
- Adding custom options when fetching remote images HOT 4
- Doesn't work on next 14.1 HOT 2
- Remote image download error: `ENAMETOOLONG: name too long` HOT 3
- Images exporting too all sizes but all rendering at full size HOT 1
- Error: ENOENT: no such file or directory, scandir 'remoteImagesForOptimization' HOT 1
- Allow CSS images optimization (for example background image) HOT 2
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 next-image-export-optimizer.