Node.js反応でrequireメソッドでパスを使用するにはどうすればよいですか?
P粉617237727
P粉617237727 2023-09-09 09:58:49
0
2
495

require()メソッドを使用して、imgタグ内の画像へのパスを貼り付けようとしています。

これがコンポーネントです。console.log(img)が正しいパスを返すため、プロパティは親から正しく渡されます。

リーリー

json ファイルは次のようになります。

リーリー

すべてのフォルダー パスが正しいと確信しています。

パスsthを貼り付けてみましたが、うまくいきました。ただし、または${img})} alt="sth"/ >## # できる。

json ファイルを

"img": require("../photo/photo.jpeg")に変更しようとしましたが、json ファイル エラーが発生しました。

ポップアップ エラー

モジュール '../photo/photo.jpeg'が見つかりません。

P粉617237727
P粉617237727

全員に返信 (2)
P粉765570115

以下の投稿を参照して、.jsonファイルを.jsファイルに変更することで、より簡単な解決策を見つけました。次に、投稿で示唆されているように、データを次のように変換しました。 リーリー

次に、先ほど使用したコンポーネントで

sth

require でテンプレート リテラルを使用するにはどうすればよいですか? (require(`${somePath}`))

いいねを押す+0
    P粉155710425

    このエラーは、React の基礎となる Webpack がrequire()関数でどのように動作するかに関連しています。require()は標準の JavaScript 関数ではなく、Node.js および webpack によって提供される機能です。require()ビルド プロセス中にモジュールの同期読み取りを実行します。つまり、webpack は実行時ではなくビルド時 (アプリケーションの実行前) にモジュール間の依存関係を知る必要があります。

    したがって、require("../photo/photo.jpeg")を直接使用すると、パスは動的ではなく静的であるため、webpack はこのファイルをビルド パッケージに含めることを認識します。ただし、require(img)を使用しようとすると、コードが実行されるまで webpack はどのファイルを参照しているのかわかりませんが、もう手遅れです。

    この場合、考えられる解決策を 2 つ提案します。

    1. 動的インポートを使用する:

    これは最新の JavaScript によって提供される機能であり、webpack もサポートしています。コンポーネントでこれを使用する方法は次のとおりです:

    リーリー

    これが正しく機能するには、JSON ファイル内でプロジェクトのルート ディレクトリへの相対パスを指定する必要があることに注意してください。

    1. パブリック フォルダーを使用して画像を提供する:create-react-appを使用すると、イメージをパブリック フォルダーに配置できます。その後、パブリック フォルダーへの相対パスを介してこれらのイメージを参照できます:
    リーリー

    JSON ファイルでは、パブリック ディレクトリへのパスのみを指定する必要があることに注意してください。

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!