Lightning Out の考慮事項と制限
認識しておくべき問題は、2 つのカテゴリに分類できます。
Lightning Out の使用に関する考慮事項
Lightning Out アプリケーションは Salesforce コンテナの外部で実行されるため、いくつかのことに留意し、場合によっては対処する必要があります。
1 つ目に、Lightning コンポーネントは、ユーザのブラウザの Cookie 設定に連動します。Lightning Out は Salesforce の外部で Lightning コンポーネントを実行するため、これらの Cookie は「サードパーティ」Cookie となります。ユーザは、ブラウザ設定でサードパーティの Cookie を許可する必要があります。
最も影響が大きくて明白な問題は、認証です。認証を処理する Salesforce コンテナがないため、自分で処理する必要があります。この重要なトピックは、「Lightning Out からの認証」で詳しく説明しています。
もう 1 つの重要な考慮事項は、それほど明白ではありません。アプリケーションでサポートされる多くの重要なアクションは、さまざまな Lightning イベントを起動することによって実現されます。ただし、イベントは森の中で倒れる木のようなものです。誰も耳を澄ましていなければ、効果はあるでしょうか? 多くの主要な Lightning イベントの場合、「リスナー」は Lightning Experience または Salesforce1 コンテナである one.app です。そして、イベントを処理する one.app がなければ、実際にイベントは無効です。それらのイベントを起動しても、エラーを表示せずに失敗します。
標準コンポーネントの制限事項
Lightning Out の主要機能は安定していて完成していますが、その他の Salesforce 機能とのインタラクションについては、まだ作業中のものがあります。
そのうちで主要なものは、Lightning コンポーネントフレームワークに組み込まれた標準コンポーネントです。Lightning Out、および Lightning Out に基づく Visualforce の Lightning コンポーネントなどの多くの標準コンポーネントは、スタンドアロンコンテキストで使用すると正しく動作しません。これは、コンポーネントが、one.app コンテナで使用できるリソースに暗黙的に連動するためです。
所有するコンポーネントのすべての連動関係を明示的にすることで、この問題を避けることができます。ltng:require を使用して、コンポーネント自体に埋め込まれていない必要な JavaScript リソースおよび CSS リソースをすべて参照します。
アプリケーションで標準コンポーネントを使用している場合、Lightning Out または Visualforce の Lightning コンポーネント で使用されているときに、スタイルや動作が記載されているとおりでないことがあります。