2016-07-28 16 views
1

WebPackとReactを初めて使用しています。設定が正しく行われています。WebPackを使用した開発中の静的資産の処理

私のディレクトリ構造は次のとおりです。

/project/ 
    /src/ 
    index.html 
    app.js 
    /static/ 
    /images 

私の「出力」のWebPACK configセクションは次のとおりです。

output: { 
    filename: 'bundle.js', 
    path: path.join(__dirname, 'dist') 
}, 

私のアプリが正常に動作反応するが、私は、任意の画像が届かないなどのURLを添えて

<img src="/static/images/logo.jpg" /> 

私は画像src値を変更した場合::など

<img src="/src/static/images/logo.jpg" /> 

は、彼らは動作しますが、もちろん、それは/src/ディレクトリが展開されないため、生産のケースであることを行っていません。私はルートが正しく設定されていないようです。

"静的"ディレクトリを "dist"にコピーするようにWebPackに指示する必要はありますか?または?アドバイスありがとうございます。

+0

srcタグ内の画像のパスは、常にindex.htmlファイル – harishr

+0

と相対的です。しかし、画像の 'src'を' static/images/logo.jpg'に設定すると、絶対パスではなく、画像はロードされません。 – Brandon

答えて

1

import(またはrequire)の画像をwebpackで送信できます。

file-loaderがインストールされていることを確認してください)のWebPACKの設定にfile-loaderを追加します。

{ 
    test: /\.(png|gif|jpg)$/, 
    include: [ 
    path.join(__dirname, 'static') 
    ], 
    loader: 'file', 
} 

のことができます。その後、import画像:

import Image1 from '../static/images/image1.png'; 

とこのようにそれを使用します。

<img src={Image1} width="64" height="64" /> 

Webpackは、インポートされたすべてのイメージを "dist"ディレクトリ。私が実際に何を望むか、いくつかの掘削後

+1

ファイルローダーテストに '$'を追加することをお勧めします。そうでなければ、必ずしもpngで終わるとは限りません。 'test:/ \。(png | gif | jpg)$ /' –

+0

@MarioTackeは同意します。私は答えを更新しました。ありがとうございました! –

+0

WebPack経由でイメージをインポートする利点と、ApacheまたはNginxからイメージを直接提供することの利点はありますか? – Brandon

関連する問題