코드를 분석하고 조직에 배포하기
Lightning 웹 구성 요소 개발에 권장되는 도구를 설치했습니다. 그리고 몇 가지 깨진 코드를 복사해서 붙여 넣었습니다. 해당 코드로 인해 배포에 실패할 수 있다는 것을 알고 있습니다. 이런 일을 실제 생활에서 해본 적이 없다고 말할 수도 있습니다. 그렇죠?
JavaScript 오류 수정하기
개발자로서 가장 중요한 작업은 웹에서 검색한 후 작업 코드를 직접 작성하는 것입니다. 앞에서 소개한 JavaScript 파일부터 오류를 수정해 보겠습니다.
-
Visual Studio Code를 엽니다.
-
myFirstWebComponent.js를 클릭합니다.
- 빨간색 밑줄이 그어진 단어
track
(추적) 위로 마우스를 가져갑니다. 이렇게 하면 이 특정 오류와 관련된 오류 메시지가 나타납니다.
-
Problems(문제) 탭을 클릭하여 현재 열린 파일에 나타나는 모든 오류를 표시합니다. 다음의 항목도 표시될 수 있습니다.
현재 파일과 Problems(문제) 탭은 코드에서 감지된 오류를 보여줍니다.
첫 번째 오류 메시지는 Lightning 웹 구성 요소 엔진의 요구 사항의 결과임을 나타냅니다. 이러한 오류는 'LWC' 다음에 숫자가 오는 형태를 포함합니다. 코드를 자세히 살펴보면 첫 번째 줄에 lwc
엔진에서 LightningElement
를 가져오고, track
을 가져오지 않습니다. 다음 문제를 해결해보겠습니다.
-
LightningElement
라는 단어 바로 뒤에 나오는 항목(중괄호 내)을 클릭합니다.
-
track
(추적)을 입력하고 두 단어를 쉼표로 구분하는 것을 잊지 마세요. 코드는 다음과 같이 나타납니다.import { LightningElement, track } from 'lwc';
- 파일을 저장하려면 macOS의 경우 CMD+S를 누르고 Windows 또는 Linux의 경우 CTRL+S를 누릅니다.
오류와 빨간 선은 모두 사라지게 됩니다.
잠시만요, 왜 두 오류가 모두 해결되었을까요? 다른 오류 메시지 앞에 [eslint]를 붙인 이유는 무엇인가요?
Lightning 웹 구성 요소 확장은 기본적으로 ESLint와 함께 제공됩니다. ESLint는 코드 오류, 코딩 모범 사례 등을 평가하는 널리 사용되는 린팅 도구입니다. Salesforce는 여러분이 Lightning 웹 구성 요소 개발자로서 멋진 코드를 작성할 수 있도록 특정 ESLint 규칙을 제공합니다. 그리고 실수가 있는 경우 린팅 규칙을 통해 코드를 배포하기 전에 내용을 확인할 수 있습니다. 멋지지 않나요?
위의 오류 메시지는 [no-undef]
를 나타냅니다. 이 오류 메시지는 속성(이 경우 decorator track
)을 정의했지만, 이전에 선언하지 않았음을 의미합니다. 이는 코드를 깔끔하고 유지 관리할 수 있도록 지원하는 매우 유용한 린팅 방지 규칙 중 하나입니다.
lwc
메타데이터 폴더에 자동으로 추가된 .eslintrc
파일을 기억하시나요? Salesforce 관련 린팅 규칙을 정의하는 구성 파일입니다.
{ "extends": "plugin:@salesforce/eslint-config-lwc/recommended" }
Salesforce는 기본, 권장 및 확장 등 다양한 규칙 집합을 제공합니다. 이러한 린팅 규칙은 프로젝트에 따라 다르므로 프로젝트에 따라 다른 규칙 집합을 사용할 수 있습니다.
ESLint 또는 Salesforce가 제공하는 린팅 규칙에 대해 자세히 알아보려면 GitHub 리포지토리를 확인하세요.
이제 JavaScript 파일이 작동하므로 웹 구성 요소 템플릿에서 HTML 마크업을 수정해 보겠습니다.
HTML 템플릿 오류 수정하기
JavaScript 파일의 오류를 수정했으므로 Salesforce Lightning 웹 구성 요소 확장 프로그램과 함께 Visual Studio Code의 인텔리센스 기능을 사용하는 방법을 배우게 됩니다.
- Visual Studio Code에서 myFirstWebComponent.html을 엽니다.
-
for:each
속성에 대해 빨간색 밑줄이 있는 속성의 빈 중괄호에 커서를 놓습니다.
-
CTRL+Space를 누릅니다. 인텔리센스 드롭다운 메뉴가 표시됩니다.
-
contact(연락처)를 선택하고 Enter 키를 눌러
contact
(연락처)를 삽입합니다.
- 연락처를 복수형
contacts
(연락처)로 만들려면s
를 추가합니다.
- 다음으로 빨간색으로 표시된
div
tag:key={contact.Id}
에 이 속성을 추가합니다.
- 파일을 저장하려면 macOS의 경우 CMD+S를 누르고 Windows 또는 Linux의 경우 CTRL+S를 누릅니다.
코드는 다음과 같아야 합니다.
<lightning-card title="ContactInformation" icon-name="custom:custom14"> <div class="slds-m-around_medium"> <template for:each={contacts} for:item="contact"> <div key={contact.Id}> {contact.Name}, {contact.Title} </div> </template> </div> </lightning-card>
코드를 고치는 동안 두 가지를 확인했습니다.
첫째, HTML 마크업 내의 표현식에 대한 인텔리센스입니다. Lightning 웹 구성 요소 확장 프로그램은 JavaScript 파일에 다른 속성 또는 함수를 추가하면 템플릿 파일 내에서 자동으로 사용할 수 있도록 하는 인텔리센스를 제공합니다. 이를 통해 시간을 크게 절약할 수 있겠어요!
둘째, 코드의 즉시 검증 또는 이 경우 마크업을 경험했습니다. JavaScript 파일과 동일합니다. 예를 들어 필수 속성이 누락된 경우 IDE에서 알림을 보냅니다.
템플릿 파일 내의 모든 기본 Lightning 구성 요소에 대한 인텔리센스도 얻을 수 있습니다. <lightning
을 입력하면 이렇게 목록이 표시됩니다.
또한 기존 마크업 위에 커서를 올리면 확장 프로그램이 선택한 기본 구성 요소에 대한 자세한 정보를 제공합니다.
새 Lightning 웹 구성 요소 배포 및 구성하기
이제 모든 코드가 수정되었으므로 로컬 메타데이터를 스크래치 조직에 푸시할 차례입니다.
- 조직에 메타데이터를 배포하려면 Terminal(터미널) 탭에 다음 명령을 입력합니다.
sf project deploy start
-
Enter를 누릅니다.
메타데이터가 스크래치 조직에 성공적으로 푸시되면 구성 요소를 계정 레코드 레이아웃에 추가할 수 있습니다.
- 기본 스크래치 조직을 열려면 Terminal(터미널) 탭에 다음 명령을 입력합니다.
sf org open
-
Enter를 누릅니다.
이제 Account(계정) 레코드 페이지를 구성해 보겠습니다.
- App Launcher(앱 시작 관리자)()에서 Sales(영업)를 찾아서 선택합니다.
-
Accounts(계정) 탭을 클릭한 다음 New(새로 만들기)를 클릭하여 계정을 만듭니다. Component Developers(구성 요소 개발자)를 계정 이름으로 입력한 다음 Save(저장)를 클릭합니다.
- 톱니바퀴 아이콘()을 클릭한 다음 Edit Page(페이지 편집)를 선택하여 Lightning 앱 빌더를 엽니다.
- 페이지에 myFirstWebComponent 구성 요소를 끌어다 놓습니다.
-
Save(저장)를 클릭한 다음 Activate(활성화)를 클릭합니다.
-
Assign as Org Default(조직 기본값으로 할당)를 클릭한 다음 Next(다음)를 클릭한 다음 Save(저장)를 클릭합니다.
-
Back(뒤로 가기)()를 클릭하여 계정 레코드로 돌아갑니다.
잘 하셨어요! 이 프로젝트에서는 Lightning 웹 구성 요소 개발에 권장되는 개발자 도구를 설치하고 사용하는 방법을 살펴봤습니다. 그리고 오류(앞으로 주의해야겠죠)와 함께 코드를 복사하고 붙여넣는 방법을 알아봤습니다.
스크래치 조직에서는 작업을 확인할 수 없지만 Verify Step(단계 확인)을 클릭하여 뱃지를 획득할 수는 있습니다. 그런 다음 Trailhead 샘플 갤러리 및 Lightning 웹 구성 요소 레시피를 확인하여 훌륭한 Lightning 웹 구성 요소 개발을 학습하는 데 도움이 되는 추가 코드 예제를 참조해 보세요.