Vue 3 Vite - Pautan imej dikemas kini masa nyata
P粉511749537
2023-08-27 22:32:33
<p>Saya menggunakan Vue 3 dan Vite. Selepas membina pengeluaran di Vite, saya menghadapi masalah dengan dynamic img src. Tiada masalah dengan static img src. </p>
<pre class="brush:php;toolbar:false;"><img src="/src/assets/images/my-image.png" alt="Image" class="logo"/>< ;/pra>
<p>Ia berfungsi dengan baik dalam kedua-dua kes: apabila dijalankan dalam mod pembangunan dan selepas binaan vite. Tetapi saya mempunyai beberapa nama imej yang disimpan dalam pangkalan data yang dimuatkan secara dinamik (ikon menu). Dalam kes ini saya perlu menulis laluan seperti ini: </p>
<pre class="brush:php;toolbar:false;"><img :src="'/src/assets/images/' + menuItem.iconSource" /></pre>
<p> (menuItem.iconSource mengandungi nama imej, seperti "my-image.png").
Dalam kes ini, ia berfungsi apabila menjalankan aplikasi dalam mod pembangunan tetapi tidak selepas binaan pengeluaran. Apabila Vite membina aplikasi untuk pengeluaran, laluan berubah (semua aset diletakkan ke dalam folder <code>_assets</code>). Sumber imej statik diproses oleh binaan Vite dan laluan akan diubah sewajarnya, tetapi sumber imej komposit tidak. Ia hanya mengambil <kod>/src/assets/images/</code> Saya boleh melihatnya dalam monitor rangkaian)).
Saya cuba mencari penyelesaian dan seseorang mencadangkan menggunakan <code>require()</code> tetapi saya tidak pasti sama ada vite boleh menggunakannya. </p>
2022 Kemas Kini: Vite 3.0.9 + Vue 3.2.38
Penyelesaian untuk pengikatan src dinamik:
1. Gunakan URL statik
2. Gunakan dinamik URL dan laluan relatif
3.Mempunyai dinamikURL dan pathmutlak
Disebabkan oleh pengehadan rollup, semua import mesti bermula relatif kepada fail import dan tidak boleh bermula dengan pembolehubah.
Anda mesti menukar alias
@/
替换为/src
2022 Jawapan: Cepat 2.8.6 + Vue 3.2.31
Inilah perkara yang sesuai untuk saya pada binaan tempatan dan pengeluaran:
Sila ambil perhatian bahawa ia tidak berfungsi dengan SSR
Dokumentasi Vite: URL Baharu