日頃よりお世話になっております。
ロジカル・アーツ株式会社のSE 輪島 幸治です。
SalesforceのTrailheadモジュールからVisual Studio Codeを使用して Lightning Web コンポーネントを作成する方法のモジュールをご紹介させて頂きます。
この記事について
さて、今回は、Trailheadモジュールの紹介をさせて頂きます。 今回、ご紹介させて頂くのは"クイックスタート: Lightning Web コンポーネント"というLightning Web コンポーネントのプロジェクトです。 この記事では、プロジェクトの中から、"Hello World Lightning Web コンポーネントの作成"についてというモジュールをご紹介させて頂きます。
Lightning Web ComponentsとはSpring ’19にリリースされた比較的新しいSalesforceにおける新しいプログラミングモデルの一つです。
Lightning Web Componentsは、Componentライブラリなども用意されています。*1*2
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]を押下します。
プロジェクトテンプレートの画面が表示されましたら、[標準]を押下して、標準のプロジェクトテンプレートを選択します。
プロジェクトテンプレートを選択するとプロジェクト名の入力する画面になりますので、プロジェクト名にHelloWorldLightningWebComponent
と入力して下さい。
[Enter]を押下して、プロジェクトを保存するフォルダを選択します。
フォルダを設定後、プロジェクトを作成して、ベース設定の表示を確認します。
Salesforce組織の設定
次に、作成したプロジェクトを連携するSalesforce組織を設定します。
[Ctrl+Shift+P (Windows)] を押下してコマンドパレットを開き、SFDX: Authorize an Org
と入力して、[Enter]を押下します。
プロジェクトで使用するデフォルトのログイン URL オプションが表示されますので、[Enter]を押下します。
連携する接続先のSalesforce組織のIDを入力して、[Enter]を押下します。
この記事では、組織ID00D5h0000016PRc
を使用します。
画面右下のSFDX:組織を認証を実行しています。
という表示を確認します。
ログイン画面が表示されますので、ログインIDとパスワードを入力してログインを行います。 ログイン後、図11の"アクセスを許可しますか?"の画面が表示されますので、[許可]を押下します。
許可を押下すると、SFDX:組織を認証が正常に実行されました。という表示されますので表示を確認して、 連携先のSalesforce組織と接続できたことを確認します。
Lightning Web コンポーネントの作成
Lightning Web コンポーネントの作成を行います。 [Ctrl+Shift+P (Windows) ]を押下してコマンドパレットを開き、 [SFDX: Create Lightning Web Component]と入力して、[Enter]を押下します。
作成するLightning Web コンポーネント名に[helloWorld]と入力して、[Enter]を押下します。
図15の画面が表示されますので、[Enter]を押して、デフォルトのフォルダ名である[force-app/main/default/lwc] を設定します。
lwc
の配下にhelloWorld
フォルダが作成され、helloWorld.html
、helloWorld.js
、helloWorld.js-meta.xml
という3つのファイルが作成されていることが確認できます。
図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>
図17のように、helloWorld.js
に、次のコードを転記して、保存します。
import { LightningElement } from 'lwc'; export default class HelloWorld extends LightningElement { greeting = 'World'; changeHandler(event) { this.greeting = event.target.value; } }
加えて、図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>
Salesforce組織にソースのデプロイ
helloWorld.html
、helloWorld.js
、helloWorld.js-meta.xml
という3つのファイルの更新が終わりましたら、Salesforce組織にデプロイを行います。
force-app/main
の下にあるdefault
フォルダを右クリックして、SFDX: Deploy Source to Org
を押下します。
画面右下にRunning SFDX:組織へソースをデプロイ
という表示を確認します。
右下の画面出力が、Running SFDX:組織へソースをデプロイ successfully ran
に変わったことを確認して、ソースコードがデプロイされたことを確認します。
Salesforce組織でのLightning Web コンポーネントの確認
最後に、デプロイされたLightning Web コンポーネントを確認します。
図23は[設定]>[カスタムコード]>[Lightning コンポーネント]>[Lightning コンポーネント]の画面ですが、
デプロイしたhelloWorld
のLightning Web コンポーネントが表示されていることが確認できます。
作成したLightning Web コンポーネントについては、図24のようにLightning アプリケーションビルダーから、Lightning ページのコンポーネントとして使用することが出来ます。 Lightning ページは、Lightning Experienceで使用できる画面です。
また、図25にあるようにアプリケーションページだけでなく、Lightning Experienceのホームページなどにも使用できます。
まとめ
以上で、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