N
Nuxt2mo ago
AD007xD

Help with images

If I want to display images, do i save the files in the public directory or the assets directory?
5 Replies
kapa.ai
kapa.ai2mo ago
Hi @AD007xD. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave: ---------------------- You can save your image files in either the public/ or assets/ directory in Nuxt, but they serve different purposes: Public Directory Use the public/ directory when you want: - Static assets that should be served as-is - Files that need to be accessible via a direct URL path - Files that don't require processing by build tools Images in the public/ directory are referenced with a root-relative path:
<template>
<img src="/img/nuxt.png" alt="Discover Nuxt 3" />
</template>
<template>
<img src="/img/nuxt.png" alt="Discover Nuxt 3" />
</template>
The file would be located at public/img/nuxt.png in your project structure. Nuxt Documentation - Assets explains that files in the public directory are "served at the server root as-is." Assets Directory Use the assets/ directory when you want: - Images that should be processed by build tools (Vite or webpack) - Assets that might benefit from optimization, hashing, or other transformations Images in the assets/ directory are referenced using the ~/assets/ path:
<template>
<img src="~/assets/img/nuxt.png" alt="Discover Nuxt 3" />
</template>
<template>
<img src="~/assets/img/nuxt.png" alt="Discover Nuxt 3" />
</template>
The Nuxt Documentation - Assets notes that the assets directory contains "every asset that you want the build tool (Vite or webpack) to process." Which to Choose? - Choose public/ for images that need direct URL access or shouldn't be processed - Choose assets/ for images that should be optimized or processed by the build tools Note that Nuxt won't serve files from the assets/ directory at a static URL like /assets/my-file.png. If you need a static URL, use the public/ directory. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai2mo ago
<@699225692918906900> Kapa.ai is still learning and improving, please let me know how I did by reacting below.
AD007xD
AD007xDOP2mo ago
@kapa.ai what does "optimized by build tools" mean
kapa.ai
kapa.ai2mo ago
Let me check the knowledge base for you again. One moment! :books: ---------------------- When I mentioned that images in the assets/ directory can be "optimized by build tools," I was referring to how Nuxt's underlying build tools (Vite or webpack) process these assets to improve your application's performance. Here's what "optimized by build tools" means in Nuxt: 1. File Transformation: Build tools can transform your image files by: - Compressing images to reduce file size - Converting images to more efficient formats - Adding content hashes to filenames for better caching 2. Asset Bundling: The build process can determine how assets are included in your final application bundle. 3. Processing through Loaders/Plugins: As explained in the Nuxt Documentation - Assets, Vite uses plugins and webpack uses loaders to process different file types:
"The main function of these build tools is to process JavaScript files, but they can be extended through plugins (for Vite) or loaders (for webpack) to process other kind of assets, like stylesheets, fonts or SVG."
4. Performance Optimization: The documentation clarifies the purpose:
"This step transforms the original file mainly for performance or caching purposes (such as stylesheets minification or browser cache invalidation)."
In contrast, files in the public/ directory are served exactly as they are without any processing or optimization by the build tools. If you want to take advantage of more advanced image optimization in Nuxt, you might also consider using the Nuxt Image module, which provides components like <NuxtImg> for enhanced image handling and optimization. ---------------------- Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: ----------------------
kapa.ai
kapa.ai2mo ago
<@699225692918906900> Kapa.ai is still learning and improving, please let me know how I did by reacting below.

Did you find this page helpful?