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

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

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

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

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

1// compositionBasics.html
2<template>
3  <lightning-card title="CompositionBasics" icon-name="custom:custom57">
4    <div class="slds-m-around_medium">
5      <c-contact-tile contact={contact}></c-contact-tile>
6    </div>
7  </lightning-card>
8</template>

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

1// example.js
2import { LightningElement } from "lwc";
3
4import { MyNamedExport } from "c/commonUtils";
5import MyDefaultExport from "c/commonUtils";
6
7export default class Example extends LightningElement {}

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

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

Note

名前空間の考慮事項 

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

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

The Japanese Summer '24 guide is now live

日本語の Summer '24 ガイドが公開されました! 「Component Reference (コンポーネントリファレンス)」は、以前と同様にコンポーネントライブラリにあります。