Używam pakietu Webpack do mojej aplikacji React.Webpack - Wymagaj obrazów przy użyciu programu ładującego pliki
zainstalowałem 'file-loader' & 'url-ładowarka' w moim WebPACK config.
Jednak nie jestem pewien, w jaki sposób połączyć zdjęcia do moich komponentów. Trzymam "src" dla obrazu w pliku "Data.js", skąd przekazuję dane obrazu do komponentu reagującego.
Moi 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 moich reagować składnik prezentacji, jestem po prostu za pomocą require
aby pobrać obraz:
const PreviewTemImgParent = ({ data }) => {
let img = require(data.get("src"));
return(
<div className = "card previewImgParent">
<img
src = { img }
...
Plik Data.js ma ścieżki bezwzględne (główne folder aplikacji) dla każdego obrazu (może być źle tutaj):
export const previewTemImgData = Map({
body : List.of(
Map({ // using immutable.js
src : "app/css/asset/template/png/body/GatheredAtEmpireLine.png",
alt : "image",
className : "flipParent",
...
Global direct ory obraz co jej wartości:
Zastanawiam się, gdzie robię błędy i jak rozwiązać ten problem?
EDIT: Po zapoznaniu się, że postać, która WebPack potrzebuje odniesienia dla względnego położenia obrazu, więc mam zmieniony webpack.config.js do następujących:
...
output : {
path : PATHS.build,
publicPath : "/",
filename : "bundle.js"
}
...
jednak, że nie robi Rozwiąż problem. Wytyczne byłyby bardzo doceniane.
Dzięki @chenkehxx, że ma sens. Będę musiał to zmienić ... – Kayote