回答編集履歴

1

内容の追加

2020/05/01 02:06

投稿

mktia
mktia

スコア110

test CHANGED
@@ -1 +1,23 @@
1
1
  画像は app/assets 以下ではなく app/static に置くと `require('~/static/images/play.png')` 等で参照できます。
2
+
3
+
4
+
5
+ (追記)
6
+
7
+ app/assets 以下でも app/static 以下でも動かすことはできるのですが、挙動が異なります。
8
+
9
+ 前者は静的ファイルとして扱えないため `require` を使う必要があります。一方で、後者はビルド時に webpack の影響を受けず、静的ファイルなので example.com/static/images/play.png のようにしてアクセスできます。
10
+
11
+
12
+
13
+ 注意しなければならないのは画像のパスで、ソースコード内でのディレクトリ構造とサーバ上でのディレクトリ構造を区別する必要があります。
14
+
15
+
16
+
17
+ 静的ファイルを文字列として与えたい場合はサーバ上のディレクトリ構造で考えるため `<img src="./static/images/play.png" />` となります。
18
+
19
+ 変数として与えたい場合は app 直下を指定したほうが確実なため、`'~/static/images/play.png'` とするのが無難です。assets 以下でも同様です。
20
+
21
+
22
+
23
+ ちなみに、b-vind を使う場合とそうでない場合の違いがあるのは、前者が画像のパスが変数で与えられ、後者が文字列で与えられるからです。