इसलिए यहाँ 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} />
इससे गड़बड़ जल्दी हो जाती है। यहाँ मैं क्या चाहता हूँ:
import * from './images'
<img src={doggy} />
<img src={turtle} />
मुझे लगता है कि किसी विशेष निर्देशिका से सभी फाइलों को डायनामिक रूप से आयात करने का कोई तरीका होना चाहिए क्योंकि उनके नाम का विस्तार होता है, और फिर आवश्यकतानुसार उन फाइलों का उपयोग करना चाहिए।
किसी ने भी इसे किया है, या इसके बारे में जाने के सर्वोत्तम तरीके पर कोई विचार है?
अपडेट करें:
चयनित उत्तर का उपयोग करते हुए, मैं ऐसा करने में सक्षम था:
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
रिटर्न वैल्यू की उम्मीद है। आपके मामले में, एक अच्छे ol 'का उपयोग करेगाforEach
।