Vì vậy, đây là quy trình làm việc hiện tại của tôi để nhập hình ảnh và biểu tượng trong webpack qua 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} />
Điều này trở nên lộn xộn nhanh chóng. Đây là những gì tôi muốn:
import * from './images'
<img src={doggy} />
<img src={turtle} />
Tôi cảm thấy như phải có một số cách để nhập động tất cả các tệp từ một thư mục cụ thể dưới dạng phần mở rộng không có tên của chúng, và sau đó sử dụng các tệp đó nếu cần.
Bất cứ ai đã thấy điều này được thực hiện, hoặc có bất kỳ suy nghĩ về cách tốt nhất để thực hiện nó?
CẬP NHẬT:
Sử dụng câu trả lời đã chọn, tôi có thể làm điều này:
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
loại mong đợi một giá trị trả lại. Trong trường hợp của bạn, người ta sẽ sử dụng ol 'tốtforEach
để thay thế.