🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1034閲覧

Node/React環境で、特定のディレクトリの画像をすべて持ってくる良い方法はありますか?

josephine

総合スコア15

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2019/10/09 02:39

画像ギャラリーのようなシステムを作っています。

サイトはReactで構築しており、コンポーネントに画像を読み込む場合、
Import "../assets/images/someImageName.jpg"
というような形でImportしているのですが、このとき、assets/imagesのディレクトリをごとImportしたり、あるいはそれに近いような形で、特定のディレクトリ配下のすべてのファイルを持ってくるような方法はないでしょうか?

泥臭く実装するなら、画像名に0、1、2、、、と連番を振った上で、JS側で画像最大数などを保持しておいてループ処理を回すか、あるいはJS側で画像名を全て持った配列を定義しておく、などの方法があると思うのですが、どちらにせよ更新のたびに手間がかかってしまうので、ディレクトリ配下の画像を全て自動で持ってくる方法が無いか探しています。

こういう実装パターンがあるとか、あるいはその辺りをうまい感じにハンドリングしてくれるライブラリなどあったら教えて頂きたいです。同じ要件を満たせるライブラリなどでも構いません。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

具体的なコードでなくてアイデアなので すみませんが、

動的にやるなら、

・ サーバサイド側で、ディレクトリを再帰的に処理したファイル名の一覧をクライアント側に返す

となるのだと思います。

ただ、

JS側で画像名を全て持った配列を定義しておく

こういう話で良いのなら、
その JS ファイルを find . -type f -name '*.jpg' | xargs ... のようなシェルスクリプトかなにかで作る、というのが楽そうに思いました。

呼び忘れが面倒なら npm scripts? で呼ばれるように設定するとか。。

投稿2019/10/12 06:14

tanishi_a

総合スコア484

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

josephine

2019/10/18 01:16

ありがとうございます。 シェルスクリプトは考えてなかったので助かります。 もしかしたらサーバーでゴリゴリ処理を走らせるより楽かもしれないと思いました。 一度試してみます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問