コンポーネントの名前空間

すべてのコンポーネントは、何らかの名前空間に属している必要があります。

独自のコンポーネントを参照するには、コーディング時に必ずデフォルトの名前空間 c を使用してください。コードの実行場所にかかわらず、つまり、名前空間がある組織、名前空間がない組織、管理パッケージ、未管理パッケージにかかわらず、c を使用します。

HTML テンプレート内で lightning 名前空間のコンポーネントを参照するには、<lightning-component-name> を使用します。名前空間とコンポーネント名は、ハイフン文字 (-) で区切られています。

このコンポーネントは、lightning 名前空間の Lightning 基本コンポーネントである lightning-card を参照します。また、同じプロジェクトのカスタムコンポーネントである c-contact-tile も参照します。

JavaScript クラス内でモジュール (サービスコンポーネントまたはライブラリとも呼ばれる) を参照するには、namespace/module を追加します。名前空間とモジュール名は、スラッシュ文字 (/) で区切られています。

Winter ’23 では、新しい組織の Lightning Web コンポーネント用 Lightning Web セキュリティはデフォルトで有効になります。

Lightning Web セキュリティが有効な組織でコンポーネントを実行した場合、コンポーネントは他の名前空間からモジュールをインポートできます。詳細は、「Lightning Web セキュリティと Lightning Locker の比較」を参照してください。

名前空間を使用するときのガイドラインを次に示します。

  • Lightning Web セキュリティではなく Lightning Locker を使用している組織で実行した場合、カスタム Lightning Web コンポーネントは、カスタム名前空間の Lightning Web コンポーネントやモジュールにはアクセスできません。
  • Lightning Web セキュリティではなく Lightning Locker を使用している組織で実行した場合は、名前空間 c および lightning の Lightning Web コンポーネントとモジュールにのみアクセスできます。
  • コンポーネントを実行する組織で Lightning Locker と Lightning Web セキュリティのどちらが有効であるかにかかわらず、同じ名前空間では、カスタム Lightning Web コンポーネントとカスタム Aura コンポーネントの名前を同じにすることはできません。