見出し画像

Vue 3 + TypeScript + Vite で画像を表示できたけど import 祭りになった

これでいいのか? 自問自答する、おばちゃんです。

ってか、おばちゃんが Vite にチャレンジするなど早すぎた。わからん、色々わからん・・・

イバラの道を歩み出したそもそもは、Swiper を使おうとしたら公式の Vue デモが Vite 使っていて、デモを丸コピペしたのが始まりだった。ラクかと思ったら、苦行になった. _l ̄l○lll

表題の「画像」というのは Swiper に使う JPEG 画像を配列にした時の事。画像が表示できない・・・

ネット検索してデキる人の記事を読むものの、おばちゃんのショボイ頭では理解ができない。ショックでしばらく寝込んでたのだけど、初心に戻ろうと Vite 公式を見返してみる。

ココだろう。たぶん。
で、下の記述を階層を変えては試し、@をつけたり、〜をつけたりを繰り返す。

import imgUrl from './assets/img.jpg'

あれ? 下に何か書いてある・・・

# 明示的な URL のインポート

import workletURL from 'extra-scalloped-border/worklet.js?url'

?url

・・・これか? 一か八か付けてみるか??

import imgUrl from './assets/img.jpg?url'
<img :src="imgUrl" />

表示できた。いや、まだだ。安心はできない。勝負は build 後だ。よし、

yarn ビルドぉぉぉぉぉぉぉぉぉ!!!!!(build)

出来上がった dist の中を見ると、画像名に英数字が足されて入ってる。もしかしてモジュール化できた?
VScode の Extensions の Live Server で dist/index.html を表示させると、画像が無事入ってました(涙)

しかし、Swiper に使う JPEG 画像を全部 import で表記したら、import だらけになってしまった。
このやり方で本当にいいのか? 信用ならない、それが、おばちゃんクオリティ。


WEBデザイナー(自営業)のおばちゃんです。最近はBlenderネタ多めです。