2016-06-26 13 views
0

webpack.config.jsurl-loader erzeugt keine Bilddateien

test: /\.(png|jpg)$/, 
loaders: ['url?limit=8192&name=images/[name].[ext]'] 

Wenn Hintergrund-Bild kleiner als 8192 als base64 zeigt.

aber wenn Bild größer als 9182 gibt es nichts. Kein Bild im Bilderordner.

Eine andere Situation, die ich

var src = require('./../images/xxx.jpg'); 
$("#xxx").attr('src',src); 

getan haben: Sollte das Bild groß als 8192 kann es in Bildern gefunden werden Ordner aber der Weg ist images/xxx.jpg

Der richtige Pfad ../images/xxx.jpg ist.

Ich weiß nicht, wie man es löst.

Danke für Ihre Hilfe.

Antwort

0

Verwenden Sie den PublicPath von Webpack?

Hier ist meine config:

output: { 
     path: __dirname + '/', 
     publicPath: 'http://localhost:3333/', //explicit specification of the output files URL when referenced in a browser. 
     filename: '[name].[chunkhash].js' 
    }, 

In meinem Js erfordern ich das Bild wie folgt aus:

import panel1 from '../../../assets/images/home-panel.jpg'; 

Dann können Sie den Lader wie folgt verwenden:

loader: 'url?limit=8192&name=assets/images/[name].[ext]' 

Hoffnung es hilft.

+0

Wenn publicPath erforderlich ist? Ich habe 'importiert Panel1 von '../ Bilder/home-Panel.jpg';' 'console.log (Panel1);' '// Bilder/home-panel.jpg' Wenn Bilddatei kleiner als 8192 wird weder img tag noch background-image angezeigt weil html-imimg-loader jetzt. Aber das Problem, dass Image-Datei größer als 8192 wird es nicht immer hier angezeigt – mqliutie