0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webpack と React と ローカル画像

Posted at

はじめに

create-react-appコマンドで React プロジェクトを作った場合。
以下のコードだとimg.pngが表示されないけど、

App.js
import logo from "./logo.svg";

function App() {
  return (
    <div className="App">
        <img src={logo} className="App-logo" alt="logo" />
        <img src="./img.png" />
    </div>
  );
}

export default App;

次のコードだと表示されるやつ。

App.js
import logo from "./logo.svg";
import img from "./img.png";

function App() {
  return (
    <div className="App">
        <img src={logo} className="App-logo" alt="logo" />
        <img src={img} />
    </div>
  );
}

export default App;

build

最初のコードでbuildしたときのディレクトリ構造。
build/static/mediaの中に、img.pngは入ってない。

build
    - static
        - js
        - css
        - media
            - logo.svg

画像が表示される方のコードでbuildしたときのディレクトリ構造。
build/static/mediaimg.pngが含まれている。

build
    - static
        - js
        - css
        - media
            - logo.svg
            - img.png

Webpack

import img from "./img.png"と書くことで、Webpack に「このファイル使うのでビルドに含めてください」と伝えられる。

ただし使用する画像数が多いと build ファイルが大きくなってしまうので、その場合は画像を public フォルダ内や外部サーバに置いたりする。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?