Voici donc mon flux de travail actuel pour l'importation d'images et d'icônes dans Webpack via 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} />
Cela devient vite compliqué. Voici ce que je veux:
import * from './images'
<img src={doggy} />
<img src={turtle} />
J'ai l'impression qu'il doit y avoir un moyen d'importer dynamiquement tous les fichiers d'un répertoire spécifique sous leur nom sans extension, puis d'utiliser ces fichiers selon les besoins.
Quelqu'un a-t-il vu cela fait, ou a-t-il des idées sur la meilleure façon de procéder?
METTRE À JOUR:
En utilisant la réponse sélectionnée, j'ai pu faire ceci:
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
genre d'attentes attend une valeur de retour. Dans votre cas, on utiliserait un bon vieux à laforEach
place.