* Option A: The<ltng:require>tag ensures that scripts are loaded only once, even if referenced multiple times. * Option D: The tag allows you to specify the order of scripts to ensure dependencies are loaded correctly. * Option E: Externally hosted scripts can be loaded using thescriptsattribute. Not Suitable: * Option B (Loading scripts in parallel): Scripts are loaded sequentially to ensure proper dependency handling. * Option C (Loading Files from Documents): Files must be hosted externally or in static resources, not in Documents. :ltng:require Documentation
最新のコメント (最新のコメントはトップにあります。)
正:A、B、D
正解は **A**、**B**、**D** です。
提供されたドキュメントの「Aura コンポーネントでの外部ライブラリの参照」セクション(スライド77)に基づき解説します。
### 正解の解説
**D. 読み込み順序の指定**
* [cite_start]**機能:** `<ltng:require>` タグの `scripts` 属性にカンマ区切りで複数のスクリプトを指定した場合、それらは **「リストに記載された順」** に読み込まれます [cite: 2010]。依存関係があるライブラリ(例: jQuery と jQueryプラグイン)を正しい順序でロードするために重要です。
**A. 重複スクリプトの1回限りの読み込み**
* [cite_start]**機能:** 同じコンポーネント、または異なるコンポーネントの複数の `<ltng:require>` タグで同じスクリプトが指定されていても、フレームワークはそれを検知し、**「1回のみ」** 読み込みます [cite: 2012-2014]。これにより、多重ロードによるエラーやパフォーマンス低下を防ぎます。
**B. スクリプトを並列に読み込む**
* [cite_start]**機能:** 相互に依存しないスクリプトのセットがある場合、それらを **別の `<ltng:require>` タグ** に分けて記述することで、**「並列読み込み」** を行わせることができます [cite: 2016-2017]。これにより、ロード時間を短縮できます。
---
### 不正解の解説
**C. ドキュメントからファイルを読み込む**
* これは **不正解** です。
* [cite_start]`<ltng:require>` は主に Salesforce の **「静的リソース (Static Resources)」** にアップロードされたファイルを読み込むために使用します(例: `{!$Resource.resourceName}`)[cite: 2006, 2008]。Salesforce の「ドキュメント」タブやファイル機能から直接読み込む機能ではありません。
**E. 外部でホストされているスクリプトをロードしています**
* これは **不正解** です。
* Salesforce のセキュリティポリシー(CSP: Content Security Policy)により、外部サーバー(CDNなど)にあるスクリプトを直接ロードすることは制限される場合が多く、推奨されません。基本的には静的リソースを使用します。また、ドキュメント上の `<ltng:require>` の主な機能リストにも含まれていません。
### 💡 学習のポイント
**`<ltng:require>` の3大メリット:**
1. **順序**を守る (Order)
2. **重複**を防ぐ (One-time)
3. **並列**で速くする (Parallel)...