Jadi, inilah alur kerja saya saat ini untuk mengimpor gambar dan ikon di webpack melalui ES6:
import cat from './images/cat1.jpg'
import cat2 from './images/cat2.svg'
import doggy from './images/doggy.png'
import turtle from './images/turtle.png'
<img src={doggy} />
Ini menjadi cepat berantakan. Inilah yang saya inginkan:
import * from './images'
<img src={doggy} />
<img src={turtle} />
Saya merasa pasti ada cara untuk mengimpor semua file secara dinamis dari direktori tertentu sebagai nama mereka tanpa ekstensi, dan kemudian menggunakan file tersebut sesuai kebutuhan.
Adakah yang melihat ini dilakukan, atau memiliki pemikiran tentang cara terbaik untuk melakukannya?
MEMPERBARUI:
Dengan menggunakan jawaban yang dipilih, saya dapat melakukan ini:
function importAll(r) {
let images = {};
r.keys().map((item, index) => { images[item.replace('./', '')] = r(item); });
return images;
}
const images = importAll(require.context('./images', false, /\.(png|jpe?g|svg)$/));
<img src={images['doggy.png']} />
.map
mengharapkan nilai pengembalian. Dalam kasus Anda, seseorang akan menggunakan ol yang bagusforEach
sebagai gantinya.