Javascript2025-05-27

Membuat assets global menggunakan vite import

Mapping component di react

Membuat Assets import biasanya menggunakan import NamaFile from '@/assets/NamaFile'. nah kali ini saya buatkan function buat global function Assets

/**
 * importing asset dynamically using variables
 * @param {string} path path of asset that will be imported without prefix /assets/
 * @example <img :src="useAsset(dynamic_image_name + '.svg')" alt="Discover Nuxt 3" />
 * @return imported file
 */
export default function useAsset (path: string): string {
  const assets = import.meta.glob(['~/assets/**/*', '!~/assets/css/**/*'], {
    eager : true,
    import: 'default',
  })
  // @ts-expect-error: wrong type info
  return assets[`/assets/${path}`]
}

penggunannya cukup begini

 <img :src="useAsset('/me.jpg')" class=" w-[200px] h-[200px] object-cover rounded-full" alt="me" />
 <img src={useAsset('/me.jpg')} class=" w-[200px] h-[200px] object-cover rounded-full" alt="me" />
MSA

Muh Syahendra A

Frontend Developer