Ich verwende Webpack für meine React App.Webpack - Erfordern Bilder mit Datei-Loader
Ich habe 'File-Loader' & 'Url-Loader' in meiner Webpack-Konfiguration installiert.
Allerdings bin ich nicht sicher, wie Sie Bilder mit meinen Komponenten verknüpfen. Ich halte das 'src' für das Bild in einer 'Data.js' Datei, von wo ich die Daten für das Bild an die react-Komponente übergebe. Mein webpack.config.js
:
...
const PATHS = {
app : path.join(__dirname, "app"),
build : path.join(__dirname, "build")
};
const common = {
entry : {
app : PATHS.app
},
output : {
path : PATHS.build,
filename : "bundle.js"
},
module : {
preLoaders : [
...
loaders : [
{
test : /\.css$/,
loaders : [ "style", "css" ],
include : PATHS.app
},
{
test : /\.jsx?$/,
loader : "babel",
query : {
cacheDirectory : true,
presets : [ "react", "es2015" ]
},
include : PATHS.app
},
{
test : /\.(jpg|png)$/,
loader : "file-loader?name=[name].[ext]",
include : PATHS.app
}
...
Im Präsentationskomponente reagieren meine, Im einfach require
mit dem Bild abzurufen:
const PreviewTemImgParent = ({ data }) => {
let img = require(data.get("src"));
return(
<div className = "card previewImgParent">
<img
src = { img }
...
Die data.js Datei hat absolute Pfade (Haupt App-Ordner) für jedes Bild (ich hier falsch gehen kann):
export const previewTemImgData = Map({
body : List.of(
Map({ // using immutable.js
src : "app/css/asset/template/png/body/GatheredAtEmpireLine.png",
alt : "image",
className : "flipParent",
...
globale Direkt ory Bild für das, was ihren Wert:
Ich frage mich, wo ich die Fehler machte und wie diese zu lösen?
EDIT: Nach der Lektüre um, ich herausfinden, dass webpack Referenz für die relative Position des Bildes benötigt, so habe ich webpack.config.js geändert folgenden:
...
output : {
path : PATHS.build,
publicPath : "/",
filename : "bundle.js"
}
...
jedoch das tut das Problem lösen. Anleitung würde sehr geschätzt werden.
Dank @chenkehxx, das macht Sinn. Ich muss das umgestalten ... – Kayote