サポート対象とサポート対象外のモジュール、コンポーネント、機能
ローカル開発では、ほとんどのコンポーネント、@salesforce
モジュール、フレームワークの機能を使用することができます。若干の相違点がありますので注意してください。以下にその詳細を示します。モジュールやコンポーネントが一覧にない場合は、それが組織と同じように動作することを期待できます。
サポートされるモジュール
次のモジュールがサポートされています。
@salesforce/apex Apex メソッドを公開します。このモジュールは Apex メソッドの呼び出しに使用します。Apex リクエストは、プロキシ経由でスクラッチ組織に送られます。
@salesforce/label
Salesforce 組織の表示ラベルを公開します。ローカル開発サーバは SFDX プロジェクトのファイル (force-app/main/default/labels/CustomLabels.labels-meta.xml)
から表示ラベルを解決します。ローカル開発サーバは、見つからなかった表示ラベルや、ローカルファイルシステムと同期されていない表示ラベルの場所にはプレースホルダを表示します。プレースホルダの書式は {unknown label:labelName}
です。
@salesforce/resourceUrl
Salesforce 組織の静的リソースを公開します。静的リソースはファイルシステム上の SFDX プロジェクトの場所 (force-app/main/default/staticresources)
にコピーされ、そこからローカル開発サーバに提供されます。
@salesforce/schema Salesforce のスキーマメタデータを公開します。このモジュールを使用して Salesforce のオブジェクトや項目への参照をインポートします。このモジュールは、本番組織の場合と同じ動作をします。
部分的にサポート対象のモジュール
以下のモジュールはローカル開発サーバと連携して動作しますが、本番組織とは動作が少し異なります。
@salesforce/i18n
ロケールは en-US
に設定されます。salesforce/i18n
からのすべてのインポートは、本番組織の en-US
ロケールで表示されるものと同様の値を返すようにハードコードされています。
@salesforce/user
@salesforce/user/Id
の値は常に undefined
になります。@salesforce/user/isGuest
の値は常に true
になります。
lightning/empApi モジュールはプレビューに表示されますが、使用することはできません。
lightning/platformShowToastEvent 通常のようにトーストの通知が来るような操作を行っても、何も起こりません。
サポート対象外のモジュール
以下のサポート対象外のモジュールを使用しているコンポーネントをプレビューしようとすると、記載の動作が発生します。
@salesforce/apexContinuation ローカル開発のページでエラーメッセージが表示されます。
@salesforce/navigation モジュールをプレビューに表示することはできますが、使用することはできません。
lightning/messageService ローカル開発のページでエラーメッセージが表示されます。
サポート対象外のコンポーネント
以下のコンポーネントを使用しようとすると、ローカル開発サーバは、エラーを返します。
lightning-file-upload コンポーネントをプレビューに表示することはできますが、使用することはできません。
サポート対象外の機能
- Lightning ページ
- Lightning Locker
- Salesforce の標準デザイントークンおよび、CSS ファイルのカスタムトークン
コンポーネントはデフォルトの属性値を使用
ローカル開発サーバでは、コンポーネントにデフォルト属性値を使用させます。属性値を指定または変更することはできません。たとえば、クロックコンポーネントを作成しているとします。コンポーネントを表示するには、クロックはユーザのタイムゾーンを知っている必要があるため、timezone
属性の設定が必要です。この場合は、コードでデフォルトの timezone
を設定しておくことをお勧めします。デフォルト値を指定できない場合は、クロックを作成して適切な属性を設定するラッパーコンポーネントを作成してください。混乱を避けるため、ラッパーコンポーネントには、テストのみを目的としていることがわかるような名前を付けてください。
SLDS バージョン
SLDS の CSS とアイコンはローカル開発プラグインに含まれており、自動的にすべてのページに表示されます。ローカル開発で一部の SLDS クラスが Salesforce 組織とは違って表示される場合は、異なるバージョンが実行されている可能性があります。ベータリリースでは、SLDS のバージョンは変更できません。ローカル開発プラグインの SLDS バージョンは、組織のバージョンとは同期されません。