私はreact + reduxを使用してウェブサイトを作成しようとしています。 私はすでにサーバーにjwt認証をセットアップしました。 私がしたいのは、コンポーネント/コンテナとレデューサーの一部を遅延ロードして、認証されたユーザーだけがダウンロードできるようにすることです。私はすでに、認証されていないユーザー(クライアント側)からコンポーネントを隠す方法を知っていますが、相対的なJavaScriptコードをダウンロードしないようにしたいと考えています。レスキューレックスで認証が必要なレイジーロードコンポーネント
私はwebpackを使用していますが、すでに反応ルータとrequire-ensure
(https://stackoverflow.com/a/33044701/2920112)を調べましたが、この方法では認証がまったく処理されないようです。 何らかの形でfetch
を使用することも考えましたが(おそらくwebpackとプライベートコードを別々にバンドルしています)、取り込んだバンドルをどうすればいいのか分かりません。
私は間違った方法で問題に近づいていますか? 私が見る唯一の代替案は、パブリックコンテンツのみを含むWebpackバンドルをロードするHTMLファイルとプライベートコードをダウンロードするHTMLファイルの2つを提供することです。しかしこれは本当に最適ではないようです。 正しいアプローチは何ですか?
私はあなたが 'require-sure'を使うことができると信じています。あなた自身の認証ロジックを含める必要があります。ユーザ認証は 'require.ensure()'で呼び出すものと 'cb'コールバックに渡すコンポーネントを変更します。 – Lucas
あなたは解決策を見つけましたか?私も同様の問題に直面しています。すべてのアセットは保護されており、要求ヘッダーにトークンが必要です。 require.insureがバックグラウンドで何かをハイジャックする方法を知らないので、次のチャンクをダウンロードするときにトークンを送信します。 –