コンポーネントの名前空間
すべてのコンポーネントは、何らかの名前空間に属している必要があります。
独自のコンポーネントを参照するには、コーディング時に必ずデフォルトの名前空間 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 コンポーネントの名前を同じにすることはできません。