![見出し画像](https://assets.st-note.com/production/uploads/images/144476306/rectangle_large_type_2_1640e5b398dba459a2f7832860570552.jpeg?width=1200)
【Salesforce】LWCの開発でつまづいたこと vol.01
はじめに
はじめまして、CREFILでエンジニアをしている川村です。
最近Salesforceの案件を担当していく中で、ブランドイメージに沿った画面の開発や、標準では対応できない、より柔軟な画面の要望をお客様からいただくケースが増えてきました。
そこで、Salesforceの画面開発で使用するLightning Web Components(以下、LWC)のコーディングに挑戦した際に、つまづいた点などを共有させていただき、同じようにLWCに挑戦されるみなさまのググる時間が少しでも減ったら嬉しいなと思いこの記事を書きました。
なお、この記事はコーディング初挑戦の方でもLWCの開発を行うことが出来るように、極力わかりやすく、イメージしやすい言葉を使うように心がけています。
そのため、説明している内容が厳密に言うと正確ではない箇所もあるかと思いますがご容赦ください。
この記事の概要
・自分がコーディングしたLWCを、自分の組織にデプロイする。
<<補足>>
コーディング:プログラム(コード)を書くこと。
デプロイ:コードを動く状態にすること。ここではSalesforceの組織でLWCを使える状態にすること。
今後投稿予定の記事
・LWCでレコードを取得する。
・LWCでレコードの更新を行う。
・LWCでレコードの追加・削除を行う。
・ボタンやアイコンをLWCに表示する。
0.作業環境
OS :Windows10
ブラウザ:Chrome(2022/01/06時点の最新バージョン)
1.deploy先のアカウントの作成
まず、Service CloudのDeveloper Editionのアカウントを作成します。
このアカウントのログイン先がdeploy先の環境となります。
なお、すでにdeploy先の環境が別にあるようでしたら、この手順はスキップして1-2まで進んでください。
1ー1.『http://salesforcedevelopersjapan.github.io/lightning-connect-tutorial/create-developer-edition.html』にアクセスします。
![画像1](https://assets.st-note.com/production/uploads/images/71905991/picture_pc_00cac11c4cdc571e72debe45a2e584bc.png?width=1200)
1-2.上記ステップ1のリンクをクリックし、移動した先の画面でアカウントを作成します。(無料です。)
<<補足>>
ユーザ名は、メール形式かつ、Salesforceのすべての環境でユニークである必要があります。
1-3.アカウント作成後、入力したメールアドレス宛てに、アカウントの確認メールが送られてくるので、メール本文中央の『アカウントを確認』ボタンをクリックして、移動した先の画面で、パスワードと秘密の質問とその回答を入力します。
1-4.Salesforceにログインできたらアカウントの作成は成功です!
![画像2](https://assets.st-note.com/production/uploads/images/71906262/picture_pc_7caf0b720d5babd252089b33d211bc95.png?width=1200)
2.開発環境の構築
LWCを開発するために必要なツール等のインストールと設定をしていきます。
<<インストールが必要なもの>>
・Java
・JDK
・Visual Studio Code(以下、VSCode)
・Salesforce CLI
2-1.『Java』『JDK』のインストールと設定
以下のDocumentationに手順がまとまっています。
●Documentation
2-2.VSCodeのインストール
『VSCode インストール Windows』などでググっていただくと、わかりやすいサイトがたくさん出てくると思うので割愛させていただきます。
2-3.Salesforce CLIのインストール
以下のTrailheadの『コマンドラインインターフェース (CLI) をインストールする』の手順を行います。
![画像3](https://assets.st-note.com/production/uploads/images/71906453/picture_pc_057d222fa1de4a65a1e25ea8a42d19e0.png?width=1200)
●Trailhead(Salesforce DX 環境の設定)
https://trailhead.salesforce.com/ja/content/learn/projects/quick-start-lightning-web-components/set-up-salesforce-dx?trail_id=build-lightning-web-components
2-4.VSCodeの設定
以下のTrailheadの手順を行います。
●Trailhead(Visual Studio Code の設定)
https://trailhead.salesforce.com/ja/content/learn/projects/quick-start-lightning-web-components/set-up-visual-studio-code?trail_id=build-lightning-web-components
3.プロジェクトの作成
LWCを開発するプロジェクト(≒LWCをコーディングするフォルダ)を作成します。
3-1.好きな場所(例ではCドライブ直下)にフォルダを作成します。
3ー2.コマンドパレットを開きます。
View ⇒ Command Palette の順にクリックします。
3-3.『SFDX: Create Project』をクリックします。
つづいて『標準』をクリックし、好きなプロジェクト名を入力し、3-1で作成したフォルダを選択し、プロジェクトを作成をクリックします。
![画像4](https://assets.st-note.com/production/uploads/images/71907338/picture_pc_f187a210b00d1b24baad38c073ce5ff9.png?width=1200)
以下のように表示されたらプロジェクトが作成されています。
![画像5](https://assets.st-note.com/production/uploads/images/71907360/picture_pc_aea87a3c6e7e599e03f9c5072a833df2.png)
4.LWCをコーディング
いよいよ、LWCをコーディングしていきます。
4-1.LWCの新規作成。
『force-app/main/default/lwc』の上で右クリックし、『SFDX: Create ~』をクリックします。
好きな名前ファイル名(≒LWC名)を入力しEnterを押し、フォルダはデフォルトで問題なければ何も入力せずにEnterを押します。
![画像6](https://assets.st-note.com/production/uploads/images/71907523/picture_pc_d3588dff4b68b8d726734af79269228e.png)
4-2.作成したLWCの確認。
以下のようにフォルダと3ファイル作成されているはずです。
(例では、LWCの名前をmyFirstWebComponentとしています。)
![画像7](https://assets.st-note.com/production/uploads/images/71908253/picture_pc_469bf56d6368d66a8404c8ad1974a058.png)
4-3.『myFirstWebComponent.html』の作成
ひとまず、ボタンが1つ配置されているLWCを作成してみます。
(例では、variantでボタンの色、icon-nameでアイコン、icon-positionでアイコンの表示位置を指定してみましたが、こちらは必須ではないので無くても大丈夫です!)
![画像8](https://assets.st-note.com/production/uploads/images/71908276/picture_pc_72dd49392037aebdabd70d5689ba704c.png?width=1200)
●テキスト
<template>
<Lightning-card>
<lightning-button label="はじめてのLWC" variant="brand" icon-name="action:edit" icon-position="right"></lightning-button>
</Lightning-card>
</template>
4-4.『myFirstWebComponent.js』の作成
今回は、特にLWCに動きをつけないので、作成された状態のままそっとしておきます。
4-5.『myFirstWebComponent.js-meta.xml』の作成
ひとまず、ホーム画面でLWCを使用できるようにします。
4行目をtrueにし、<targets>を追記しています。
![画像9](https://assets.st-note.com/production/uploads/images/71908436/picture_pc_1159615c50ef5d1f8d95268ca60c113e.png?width=1200)
●テキスト(4~7行目)
<isExposed>true</isExposed>
<targets>
<target>lightning__HomePage</target>
</targets>
5.組織を認証
deploy先の組織を選択します。
5-1.接続先の組織のエイリアス(≒組織の名前)を取得します。ログインしている環境の『.lightning.force.com~』の手前の文字列がエイリアスです。
![画像10](https://assets.st-note.com/production/uploads/images/71908725/picture_pc_092bec3c89c09608b9baaa78de27ca81.png?width=1200)
5-2.VSCodeの左下の『デフォルトの組織が未設定』をクリックし、コマンドパレットに表示された『SFDX: 組織を認証』をクリックし、『本番環境』をクリックします。
その後、5-1で取得したエイリアスを入力しEnterを押します。
![画像11](https://assets.st-note.com/production/uploads/images/71908736/picture_pc_371c9b643987f4ffeaf6b3419b430e01.png)
5-3.ターミナルにSalesforceのログインURLが表示されるのでクリックします。
5-4.ログインした後、Salesforce CLIからの要求を許可します。
上記5-2で『デフォルトの組織が未設定』と表示されていた箇所に、エイリアス名が表示されていたら組織の認証は成功です。
6.LWCをデプロイ
組織にLWCをdeployします。
これで環境に作成したLWCが表示できるようになります。
6-1.『myFirstWebComponent』のフォルダの上で右クリックし、『SFDX: Deploy Source to Org』をクリックします。
![画像12](https://assets.st-note.com/production/uploads/images/71909011/picture_pc_72c5271ae1847015df0457fade040c28.png?width=1200)
右下に、以下のようなポップアップが出れば成功です。
![画像13](https://assets.st-note.com/production/uploads/images/71909032/picture_pc_9747f2388909df968c6a13dbd8a97ee9.png?width=1200)
7.LWCの表示
あとは表示するだけです。
7-1.編集ページを表示する。手順4-5でホーム画面を選択したので、ホーム画面で編集ページをクリックします。
![画像14](https://assets.st-note.com/production/uploads/images/71909101/picture_pc_947e2de81e42a4b1a62d329478f70682.png?width=1200)
7-2.左のコンポーネントのカスタムに表示されている『myFirstWebComponent』をDrag&Dropで好きな位置に配置します。
![画像15](https://assets.st-note.com/production/uploads/images/71909167/picture_pc_48fe9cfe9994a98fb1a63408bfd99e91.png)
7-3.『保存』ボタンをクリックし、有効可と組織のデフォルトに設定を行います。
![画像16](https://assets.st-note.com/production/uploads/images/71909243/picture_pc_b527b4ecdac7bb63847d8b9f3d8435c5.png?width=1200)
無事に表示されました!
おわりに
初めての投稿ということもあり、いたらぬ点も多かったかと思いますが、
少しでもみなさまのお役に立てるとうれしいです!
最後に、参考にLWC開発の際のおすすめTrailheadを共有して終わりたいと思います。
■おすすめTrailhead
https://trailhead.salesforce.com/ja/content/learn/trails/build-lightning-web-components