Store images in the public/
folder and then directly reference them from inside your index.html
or index.css
files.
The src/assets/ Folder
Which Folder Should You Use?
You can also store images in the src/assets/
folder (or, actually, anywhere in the src
folder).
So what's the difference compared to public/
?
Any files (of any format) stored in src
(or subfolders like src/assets/
) are not made available to the public. They can't be accessed by website visitors. If you try loading localhost:3000/src/assets/some-image.jpg
, you'll get an error.
Instead, files stored in src/
(and subfolders) can be used in your code files. Images imported into code files are then picked up by the underlying build process, potentially optimized, and kind of "injected" into the public/
folder right before serving the website. Links to those images are automatically generated and used in the places where you referenced the imported images.
You should use the public/
folder for any images that should not be handled by the build process and that should be generally available. Good candidates are images used directly in the index.html
file or favicons.
On the other hand, images that are used inside of components should typically be stored in the src/
folder (e.g., in src/assets/
).
No comments:
Post a Comment