Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

Trailheadモジュールの紹介(1) - Visual Studio Codeを使用したLightning Web コンポーネントの作成

日頃よりお世話になっております。

ロジカル・アーツ株式会社のSE 輪島 幸治です。

SalesforceのTrailheadモジュールからVisual Studio Codeを使用して Lightning Web コンポーネントを作成する方法のモジュールをご紹介させて頂きます。

この記事について

さて、今回は、Trailheadモジュールの紹介をさせて頂きます。 今回、ご紹介させて頂くのは"クイックスタート: Lightning Web コンポーネント"というLightning Web コンポーネントのプロジェクトです。 この記事では、プロジェクトの中から、"Hello World Lightning Web コンポーネントの作成"についてというモジュールをご紹介させて頂きます。

trailhead.salesforce.com

Lightning Web ComponentsとはSpring ’19にリリースされた比較的新しいSalesforceにおける新しいプログラミングモデルの一つです。

developer.salesforce.com

Lightning Web Componentsは、Componentライブラリなども用意されています。*1*2

developer.salesforce.com

Lightning Web コンポーネントは、Visual Studio Codeから作成できます。

Visual Studio Codeについても、今から6年前の2015年に登場した比較的新しいソースコードエディタです。

Visual Studio Code - Wikipedia

この記事では、Visual Studio Codeで行うLightning Web コンポーネントの作成をTrailheadモジュールに準拠して画像付きでご紹介させて頂きます。

Trailheadモジュールが文字だけでは分かりづらい方、 Lightning Web コンポーネントの検証を行う時間がない方、 Trailheadモジュールの概要だけ把握したい場合などにお使い下さい。

Windows OSを使用してご説明をさせて頂きます。

Lightning Web コンポーネントの作成

Salesforce DX プロジェクトの作成

まず、Visual Studio Codeを起動して、[Ctrl+Shift+P (Windowsキー)] を押して、Visual Studio Codeの画面上部にコマンドパレットを開きます。 今回は、Lightning Web コンポーネントを作成するため、図1のようにSFDX: Create Projectと入力して、[Enter]を押下します。

f:id:logicalarts:20210826002335p:plain
図1

プロジェクトテンプレートの画面が表示されましたら、[標準]を押下して、標準のプロジェクトテンプレートを選択します。

f:id:logicalarts:20210826002422p:plain
図2

プロジェクトテンプレートを選択するとプロジェクト名の入力する画面になりますので、プロジェクト名にHelloWorldLightningWebComponentと入力して下さい。

f:id:logicalarts:20210826002444p:plain
図3

[Enter]を押下して、プロジェクトを保存するフォルダを選択します。

f:id:logicalarts:20210826002501p:plain
図4

フォルダを設定後、プロジェクトを作成して、ベース設定の表示を確認します。

f:id:logicalarts:20210826002515p:plain
図5

Salesforce組織の設定

次に、作成したプロジェクトを連携するSalesforce組織を設定します。 [Ctrl+Shift+P (Windows)] を押下してコマンドパレットを開き、SFDX: Authorize an Orgと入力して、[Enter]を押下します。

f:id:logicalarts:20210826002534p:plain
図6

プロジェクトで使用するデフォルトのログイン URL オプションが表示されますので、[Enter]を押下します。

f:id:logicalarts:20210903095510p:plain
図7

連携する接続先のSalesforce組織のIDを入力して、[Enter]を押下します。 この記事では、組織ID00D5h0000016PRcを使用します。

f:id:logicalarts:20210826002606p:plain
図8

画面右下のSFDX:組織を認証を実行しています。という表示を確認します。

f:id:logicalarts:20210826231347p:plain
図9

ログイン画面が表示されますので、ログインIDとパスワードを入力してログインを行います。 ログイン後、図11の"アクセスを許可しますか?"の画面が表示されますので、[許可]を押下します。

f:id:logicalarts:20210826002638p:plain
図10

f:id:logicalarts:20210826002700p:plain
図11

許可を押下すると、SFDX:組織を認証が正常に実行されました。という表示されますので表示を確認して、 連携先のSalesforce組織と接続できたことを確認します。

f:id:logicalarts:20210826002721p:plain
図12

Lightning Web コンポーネントの作成

Lightning Web コンポーネントの作成を行います。 [Ctrl+Shift+P (Windows) ]を押下してコマンドパレットを開き、 [SFDX: Create Lightning Web Component]と入力して、[Enter]を押下します。

f:id:logicalarts:20210826002742p:plain
図13

作成するLightning Web コンポーネント名に[helloWorld]と入力して、[Enter]を押下します。

f:id:logicalarts:20210903095146p:plain
図14

図15の画面が表示されますので、[Enter]を押して、デフォルトのフォルダ名である[force-app/main/default/lwc] を設定します。

f:id:logicalarts:20210826002818p:plain
図15

lwcの配下にhelloWorldフォルダが作成され、helloWorld.htmlhelloWorld.jshelloWorld.js-meta.xmlという3つのファイルが作成されていることが確認できます。

f:id:logicalarts:20210826002836p:plain
図16

図16のように、helloWorld.htmlに、次のコードを転記して、保存します。

<template>
  <lightning-card title="HelloWorld" icon-name="custom:custom14">
    <div class="slds-m-around_medium">
      <p>Hello, {greeting}!</p>
      <lightning-input label="Name" value={greeting} onchange={changeHandler}></lightning-input>
    </div>
  </lightning-card>
</template>

f:id:logicalarts:20210826002902p:plain
図17

図17のように、helloWorld.jsに、次のコードを転記して、保存します。

import { LightningElement } from 'lwc';
export default class HelloWorld extends LightningElement {
  greeting = 'World';
  changeHandler(event) {
    this.greeting = event.target.value;
  }
}

f:id:logicalarts:20210826002922p:plain
図18

加えて、図19のようにhelloWorld.js-meta.xmlに、次のコードを転記して、保存します。

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="helloWorld">
  <apiVersion>45.0</apiVersion>
  <isExposed>true</isExposed>
  <targets>
    <target>lightning__AppPage</target>
    <target>lightning__RecordPage</target>
    <target>lightning__HomePage</target>
  </targets>
</LightningComponentBundle>

f:id:logicalarts:20210826002955p:plain
図19

Salesforce組織にソースのデプロイ

helloWorld.htmlhelloWorld.jshelloWorld.js-meta.xmlという3つのファイルの更新が終わりましたら、Salesforce組織にデプロイを行います。

force-app/main の下にあるdefaultフォルダを右クリックして、SFDX: Deploy Source to Orgを押下します。

f:id:logicalarts:20210826003015p:plain
図20

画面右下にRunning SFDX:組織へソースをデプロイという表示を確認します。

f:id:logicalarts:20210826003034p:plain
図21

右下の画面出力が、Running SFDX:組織へソースをデプロイ successfully ranに変わったことを確認して、ソースコードがデプロイされたことを確認します。

f:id:logicalarts:20210826003055p:plain
図22

Salesforce組織でのLightning Web コンポーネントの確認

最後に、デプロイされたLightning Web コンポーネントを確認します。 図23は[設定]>[カスタムコード]>[Lightning コンポーネント]>[Lightning コンポーネント]の画面ですが、 デプロイしたhelloWorld のLightning Web コンポーネントが表示されていることが確認できます。

f:id:logicalarts:20210826003114p:plain
図23

作成したLightning Web コンポーネントについては、図24のようにLightning アプリケーションビルダーから、Lightning ページのコンポーネントとして使用することが出来ます。 Lightning ページは、Lightning Experienceで使用できる画面です。

また、図25にあるようにアプリケーションページだけでなく、Lightning Experienceのホームページなどにも使用できます。

f:id:logicalarts:20210826003134p:plain
図24

f:id:logicalarts:20210826003150p:plain
図25

まとめ

以上で、Visual Studio Codeを使用してLightning Web コンポーネントを作成することができます。

これまで、Visualforceページでの画面開発が一般的でしたが、コンポーネントを開発することで、 Lightning アプリケーションビルダーを使用するとLightning Experienceで使用できる画面が平易に開発できます。

参考となれば幸いです。よろしくお願いいたします。

注意

この記事は、著者が技術調査した結果を、ロジカル・アーツ株式会社のブログにて記事化したものです。

記載されている会社名、商品名などは一般に各社の商標または登録商標です。なお、本文中には、™、®を明記しておりません。

成長が著しい業界であることから、機能更新も早くご紹介したドキュメントの内容などは、予告なく変更される場合もあります。

お気付きの点がありましたらSalesforceに関する内容については弊社、 関連アプリケーションについては、提供元ベンダーやベンダーのパートナー様にお問い合わせ下さい。

よろしくお願いいたします。

*1:Componentライブラリは、Aura ComponentとLightning Web Componentsのサンプルコンポーネント一覧化されたLightning コンポーネントのライブラリです。

*2:Salesforce Lightning Component Library - Components : https://developer.salesforce.com/docs/component-library/overview/components