Skip to main content

Lightning Web コンポーネントファイルのリリース

学習の目的

この単元を完了すると、次のことができるようになります。

  • 組織で表示する Lightning Web コンポーネントファイルを設定する。
  • ファイルを組織にリリースする。
  • 組織環境でコンポーネントの動作を確認する。
メモ

メモ

このバッジのハンズオン Challenge は日本語、スペイン語 (LATAM)、ポルトガル語 (ブラジル) に対応しています。Playground の言語を変更するには、こちらの指示に従ってください。日本語等、翻訳された言語と英語に差異がある可能性があります。英語以外の言語での指示に従って Challenge に合格できなかった場合は、[言語] と [地域] をそれぞれ [English]、[アメリカ合衆国] に切り替えてからもう一度お試しください。

翻訳版の Trailhead を活用する方法については、自分の言語の Trailhead バッジをご覧ください。

組織で使用するための Lightning Web コンポーネントファイルの設定

「Lightning コンポーネントを作成する」の単元で説明した自転車コンポーネントを作成して組織にプッシュします。

メモ

独自のスタイルを設定していないため、CSS ファイルは必要ありません。

このコンポーネントを組織にプッシュするには、次のファイルが必要です。

  • bikeCard.html
  • bikeCard.js
  • bikeCard.js-meta.xml

手順は次のとおりです。

  1. bikeCard プロジェクトを続行します。
  2. force-app/main/default で、lwc フォルダーを右クリックし、[SFDX: Create Lightning Web Component (SFDX: Lightning Web コンポーネントの作成)] を選択します。
    bikeCard コンポーネントのファイルを作成します。
  3. 新しいコンポーネントの名前に bikeCard と入力します。
  4. Enter キーを押し、もう一度 Enter キーを押してデフォルトの force-app/main/default/lwc を受け入れます。
  5. \force-app\main\default\lwc\bikeCard の下の VS Code に次のように表示されます。
    bikeCard コンポーネントファイル構造。Lightning Web コンポーネントは Web 標準に準拠しています。HTML 標準では、複数の単語から成るカスタム要素名にハイフンを含めることを推奨しています。ただし、Salesforce Platform では、コンポーネントのフォルダー名やファイル名にハイフンの使用は許可されません。そのため、ここではキャメルケースの命名規則を使用します。
  6. bikeCard.html、bikeCard.js、および bikeCard.js-meta.xml ファイルの内容をコピーして置き換えます。
    bikeCard.html

    <template>
      <div>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
      </div>
    </template>
    bikeCard.js

    import { LightningElement } from 'lwc';
    export default class BikeCard extends LightningElement {
      name = 'Electra X4';
      description = 'A sweet bike built for comfort.';
      category = 'Mountain';
      material = 'Steel';
      price = '$2,700';
      pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
    }
    bikeCard.js-meta.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
        <!-- The apiVersion may need to be increased for the current release -->
        <apiVersion>57.0</apiVersion>
        <isExposed>true</isExposed>
        <masterLabel>Bike Card</masterLabel>
        <targets>
            <target>lightning__AppPage</target>
            <target>lightning__RecordPage</target>
            <target>lightning__HomePage</target>
        </targets>
    </LightningComponentBundle>
  7. ファイルを保存します。

コンポーネント設定ファイル

まだ説明していないファイルは、.js-meta.xml 拡張子の付いたコンポーネント設定ファイルです。このファイルは、Lightning アプリケーションビルダーでの使用を目的とするコンポーネント用の設計設定を含む、Salesforce のメタデータを提供します。

設定ファイルを含む、コンポーネントを構成するファイル。

LWC.studio で試していたので、設定ファイルについてはまだ取り上げていませんでした。これから組織内のコンテンツを使用し始めるので、設定ファイルを含める必要があります。

ebikes リポジトリのすべてのコンポーネントにはこの設定ファイルがあります。以下は、ebikes リポジトリからの例です。

<?xml version="1.0" encoding="UTF-8" ?>

<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">

  <apiVersion>57.0</apiVersion>

  <isExposed>true</isExposed>

  <masterLabel>Product Card</masterLabel>

  <targets>

    <target>lightning__AppPage</target>

    <target>lightning__RecordPage</target>

    <target>lightning__HomePage</target>

    <target>lightningCommunity__Page</target>

  </targets>

  <targetConfigs>

    <targetConfig targets="lightning__RecordPage">

      <objects>

        <object>Product__c</object>

      </objects>

    </targetConfig>

  </targetConfigs>

</LightningComponentBundle>

必須:

  • apiVersion は、コンポーネントを Salesforce API バージョンにバインドします。
  • isExposed (true または false): isExposedfalse の場合、コンポーネントは、Lightning アプリケーションビルダーにもエクスペリエンスビルダーにも公開されません。
    • コンポーネントを Lightning アプリケーションビルダーまたはエクスペリエンスビルダーで使用できるようにするには、isExposedtrue に設定し、Lightning ページの種別である <target> を 1 つ以上定義します。

省略可能:

  • targets は、Lightning アプリケーションビルダーでコンポーネントを追加可能な Lightning ページの種別を指定します。
  • targetConfigs は、Lightning ページの種別ごとに固有の動作を指定します。これには、コンポーネントをサポートするオブジェクトなどがあります。

サポートされる構文のすべてのリストは、このドキュメントを参照してください。

組織にコンポーネントを表示

Lightning Web コンポーネントを UI に表示するには 2 つのオプションがあります。

  1. さまざまな flexipage 型 (home、record home など) をサポートするようにコンポーネントを設定してから、Lightning アプリケーションビルダーを使用して flexipage に追加します。これが最もシンプルなアプローチで、この単元でも使用します。
  2. Lightning Web コンポーネントが含まれる Aura コンポーネントを参照するタブを作成することもできます。何が必要かは、リポジトリで確認できます。

ファイルのリリース

コンポーネントファイルを組織にリリースする必要があります。

  1. VS Code のコマンドパレットの [SFDX: Authorize an Org (SFDX: 組織を承認)] を使用して、組織で認証します。別名を受け入れるよう促されたら、プロジェクトのデフォルトを受け入れて Enter キーを押し、default という別名を受け入れます。アクセスを許可するよう要求されたら、[Allow (許可)] をクリックします。
  2. force-app/main/default フォルダーを右クリックして、[SFDX: Deploy this Source to Org (SFDX: 組織にこのソースをリリース)] を選択します。

コンポーネントの新しいページの作成

コンポーネント設定ファイルを設定して Lightning アプリケーションビルダーでのコンポーネントの使用を有効にしたので、UI を使用してアプリケーションを作成し、コンポーネントをアプリケーションに追加できます。

  1. 組織を開くには、VS Code のコマンドパレットの [SFDX: Open Default Org (SFDX: デフォルトの組織を開く)] を使用します。
  2. [設定] で、[クイック検索] ボックスに Lightning App Builder (Lightning アプリケーションビルダー) と入力し、[Lightning アプリケーションビルダー] を選択します。
  3. [新規] をクリックします。
  4. [アプリケーションページ] を選択し、[Next (次へ)] をクリックします。
  5. Bike Card という表示ラベルを設定し、[Next (次へ)] をクリックします。
  6. [1 つの範囲] を選択し、[完了] をクリックします。
  7. Lightning アプリケーションビルダーで、コンポーネントリストを [Bike Card (自転車カード)] コンポーネントが表示されるまでスクロールダウンします。

これで、ページにドラッグできます。ページを保存し、有効化すると、[Bike Card (自転車カード)] コンポーネントが割り当てられたページに表示されます。

  1. [Bike Card (自転車カード)] コンポーネントを、自転車が表示されるまでページレイアウトの上部へドラッグします。
  2. [Save (保存)] をクリックします。
  3. [アクティブ化] をクリックします。
  4. [すべてのユーザーを対象に有効化] は選択されたままにします。必要に応じて、アプリケーションの名前やアイコンを変更します。
  5. [Save (保存)] をクリックします。ページをナビゲーションメニューに追加するか尋ねられますが、その必要はありません。この環境では引き続きページにアクセスできます。
  6. [完了] をクリックします。
  7. 左上の [戻る] ボタンをクリックして、Lightning アプリケーションビルダーを終了します。
  8. アプリケーションランチャー () で、[Bike Card (自転車カード)] を見つけて選択します。
  9. ページを開き、コンポーネントが UI で動作することを確認します。
    Lightning Experience での Bike Card アプリケーション。

ぴかぴかの新しい自転車が表示されました。コンポーネントを組織にプッシュし、ページに表示して、UI で確認できました。

次の単元では、イベント処理を含むインタラクティブなコンポーネントを作成し、組織にリリースしてテストします。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる