進行状況の追跡を始めよう
Trailhead のホーム
Trailhead のホーム

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

学習の目的

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

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

組織にステップアップ

Playground とはしばらくお別れですが、非常に便利に利用できる場所であることがわかるでしょう。この単元では、Salesforce 拡張機能を含む VS Code を使用して Lightning Web コンポーネントを開発します。ファイルを組織にリリースし、コンポーネントを使用するためのアプリケーションを作成します。

必要なもの

最初の単元で説明したように、続行するには Salesforce DX に習熟している必要があります。この単元を完了するには、次が必要です。

  • Salesforce 拡張機能パックを含む Visual Studio Code
  • Salesforce CLI
  • Dev Hub 対応組織
  • Dev Hub 対応組織のユーザにリリースされた [私のドメイン] (Trailhead 内に作成された Playground 組織には [私のドメイン] がリリースされています。Trailhead アカウントに Developer Edition 組織を関連付けた場合は、[私のドメイン] を有効にしてリリースする必要があります。)

残りの要件を満たすには、「クイックスタート: Lightning Web コンポーネント」プロジェクトを修了してください。設定されていない場合は、組織の [設定] メニューから Dev Hub を有効にし、[私のドメイン] をリリースしてください。

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

前の単元の例に倣い、bikeCard という名前を付け、組織にプッシュします。

メモ

メモ

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

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

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>48.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>
  1. VS Code のコマンドパレットの [SFDX: Create Project (SFDX: プロジェクトを作成 )] を選択してプロジェクトを作成します。標準テンプレートを受け入れ、「bikeCard」というプロジェクト名を付けます。
  2. lwc フォルダを右クリックして [SFDX: Create Lightning Web Component (SFDX: Lightning Web コンポーネントを作成)] を選択し、bikeCard コンポーンネントフォルダとファイルを作成します。bikeCard コンポーネントのファイルを作成します。
  3. ファイルを bikeCard\force-app\main\default\lwc に保存すると、VS Code に次のように表示されます。bikeCard コンポーネントファイル構造。 Lightning Web コンポーネントは Web 標準に準拠しています。HTML 標準では、カスタム要素名にハイフンを含めることを推奨しています。ただし、Salesforce Platform では、コンポーネントのフォルダ名やファイル名にハイフンの使用は許可されません。そのため、ここではキャメルケースの命名規則を使用します。
  4. 前述した bikeCard.html、bikeCard.js、および bikeCard.js-meta.xml ファイルのコンテンツをコピーします。
  5. ファイルを保存します。

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

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

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

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

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

<?xml version="1.0" encoding="UTF-8" ?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>48.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) は、コンポーネントを他の名前空間から使用できるようにします。これを true に設定するのは、コンポーネントを管理パッケージか、別の組織の Lightning アプリケーションビルダーで使用できるようにする場合のみです。

省略可能targets は、Lightning アプリケーションビルダーでコンポーネントを追加可能な Lightning ページの種別を指定します。

targetConfigs は、Lightning ページの種別ごとに固有の動作を指定します。これには、コンポーネントをサポートするオブジェクトなどがあります。

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

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

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

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

ファイルのリリース

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

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

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

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

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

これで、ページにドラッグできます。ページを保存し、有効化すると、bikeCard コンポーネントが割り当てられたページに表示されます。

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

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

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

リソース