设置您的Lightning Web Components开发人员工具 – 分析您的代码并将其部署到您的组织

分析您的代码并将其部署到您的组织

您已经安装了我们推荐的用于开发Lightning Web Components的工具。然后您复制并粘贴了一些损坏的代码,我们知道这将导致部署失败。您可能会说您以前从未在现实生活中做到过,对吧?

您知道您可以向专家学习吗? 观看此视频,以了解有关该项目主题的更多信息:

修复JavaScript错误

在网络上搜索(希望能正常工作的)代码后,作为开发人员最重要的任务是自己编写有效的代码。让我们修复前面介绍的错误,从JavaScript文件开始。

  1. 打开Visual Studio代码
  2. 单击myFirstWebComponent.js
  3. 将鼠标悬停在带有红色下划线的单词上track。这将显示与此特定错误相关的错误消息:
    将鼠标悬停在窗口上,并显示错误消息:“需要进行装饰器转换”和“未定义'轨道'。”
  4. 单击“问题”选项卡以显示当前打开的文件中出现的所有错误。您应该会看到以下内容:
    Visual Studio Code中的“问题”选项卡,显示多个错误

当前文件以及“问题”选项卡都显示代码中检测到的错误。

第一条错误消息表明这是Lightning Web Components引擎要求的结果。此类错误包括“ LWC”后跟数字。如果仔细看一下代码,您会在第一行中看到我们正在LightningElement 从lwc引擎导入,但是我们没有在导入track。让我们修复一下:

  1. 在单词后面LightningElement(在花括号内)单击鼠标右键。
  2. 输入track,不要忘了用逗号分隔两个单词。您的代码应如下所示:
    import { LightningElement, track } from 'lwc';
  3. 在macOS上按CMD + S,在Windows或Linux上按CTRL + S来保存文件。

错误和红线都消失了。

注意

默认情况下,IDE会在您键入内容时验证文件的内容。您可以在Visual Studio Code中将其设置为首选项,以在键入时或在保存文件后进行验证。

但是等等,为什么两个错误都消失了?又为什么其他错误消息以[eslint]开头

默认情况下,ESLint附带Lightning Web Components扩展。ESLint是一种广泛使用的整理工具,可评估代码是否有错误,编码最佳实践等。作为Lightning Web组件开发人员,Salesforce为您提供了开箱即用的特定ESLint规则,以便您可以编写出色的代码。而且,如果您犯了一个错误,则在部署代码之前,插入规则可以帮助您查看错误。那不是很好吗?

显示以上错误信息[no-undef]。该错误消息表示您定义了一个属性,在本例中为decorator track,但之前未进行声明。这是 许多超级有用的整理规则之一,可帮助您保持代码的清洁和可维护。

您还记得.eslintrc自动添加到lwc元数据文件夹的文件吗?这是配置文件,用于定义特定于Salesforce的整理规则:

{
   "extends": "plugin:@salesforce/eslint-config-lwc/recommended"
}

Salesforce提供了不同的规则集,包括基本推荐扩展。由于这些棉绒规则是特定于项目的,因此您可以将不同的规则集用于不同的项目。

注意

部署Lightning Web组件时,Salesforce会根据插入@salesforce/eslint-config-lwc/base规则自动验证您的代码。如果您自己重新配置掉毛规则,请记住这一点。

如果您想了解有关ESLint或Salesforce提供的插入规则的更多信息,请查看 GitHub存储库

现在我们有了一个有效的JavaScript文件,让我们在您的Web组件模板中修复HTML标记。

修复HTML模板错误

现在,您已经修复了JavaScript文件中的错误,您将学习如何与Salesforce Lightning Web Components扩展一起使用Visual Studio Code的智能功能。

  1. 在Visual Studio代码中打开myFirstWebComponent.html
  2. 将光标置于带红色下划线的for:each属性的空花括号中。
  3. CTRL +空格键。您会看到智能感知下拉列表。
    具有智能感知窗口的HTML标记
  4. 按Enter键。
  5. 接下来,将此属性添加到带有红色标记的div标记中:
    key={contact.Id}
  6. 在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 Web Components扩展提供了智能感知功能,这意味着如果您将其他属性或功能添加到JavaScript文件中,则模板文件中将自动为您提供它们。节省大量时间!

其次,您经历了代码的动态验证,或者在这种情况下是标记。与JavaScript文件中的相同。例如,如果您缺少必填属性,IDE会告诉您。

您还将在模板文件中的所有基本Lightning组件上获得智能感知。当您开始输入时<lightning,您将得到一个这样的列表。

基本Lightning组件智能感知窗口,显示基本Lightning组件的列表。

而且,当您将光标悬停在现有标记上时,该扩展会为您提供有关所选基本组件的丰富信息。

基础闪电组件文档

部署和配置新的Lightning Web组件

现在,我们所有的代码都已修复,现在是将本地元数据推送到草稿组织的时候了。

  1. 打开Visual Studio代码
  2. 在macOS上按Command + Shift + P或在Windows或Linux上按Ctrl + Shift + P,然后键入focus terminal。按Enter键
  3. 输入以下命令以将元数据部署到您的组织中:
    sfdx force:source:push
  4. Enter键

将元数据成功推送到草稿组织后,您可以将组件添加到“客户记录”布局中。

注意

您还可以使用force:source:deploy命令针对非临时组织开发Lightning Web组件。在Salesforce CRM定制和扩展模块的Salesforce环境和Salesforce DX单元中 更快地了解有关源驱动开发的更多信息 。

正如我们已经在Visual Studio Code中一样,我们可以利用Salesforce CLI的另一个功能。

  1. 转到Visual Studio代码终端。
  2. 输入以下命令,然后按Enter。这将打开默认的临时组织。
    sfdx force:org:open

现在,让我们配置Accounts对象的布局。

  1. 在应用启动器(应用启动器图标)中,找到并选择销售
  2. 单击“帐户”选项卡,然后单击“新建”以创建一个帐户。输入Component Developers作为Account Name,然后点击Save
  3. 单击齿轮图标( 安装装置),然后选择“编辑页面”以打开Lightning App Builder。
  4. myFirstWebComponent组件拖到页面上。
  5. 单击保存,然后单击激活
  6. 单击“指定为组织默认值”,然后单击“保存”
  7. 单击上一步以返回到帐户记录。

而已!该项目向您展示了如何安装和使用推荐的开发人员工具来开发Lightning Web Components。而且您学习了如何复制和粘贴有错误的代码(以后应避免使用)。

设置您的Lightning Web Components开发人员工具 – 创建一个闪电Web组件

创建一个闪电Web组件

在这一步中,您将学习如何使用之前安装的工具。

您知道您可以向专家学习吗? 观看此视频,以了解有关该项目主题的更多信息:

创建一个Salesforce DX项目

使用Salesforce CLI与组织进行交互的基本基础是Salesforce DX项目。一个项目由几个本地配置文件以及要部署的代码组成。用Salesforce术语来说,我们将此代码称为元数据,它是Salesforce平台的基础。如果您不熟悉Salesforce,请查看“ 平台开发基础知识”以了解有关我们元数据驱动方法的更多信息。

我们将使用Visual Studio Code创建一个项目。

  1. 打开Visual Studio代码
  2. 在macOS上按Command + Shift + P或在Windows或Linux上按Ctrl + Shift + P,然后键入create project。选择SFDX:创建项目,然后按Enter
  3. 保留默认的项目类型选择Standard,然后按Enter
  4. 输入Trailhead作为项目名称,然后按Enter
  5. 在您的本地计算机上选择将要存储项目的目录。单击创建项目

大!您已经创建了第一个用于使用Lightning Web Components的Salesforce DX项目。Visual Studio Code将自动为您打开新项目。

授权您的开发中心

下一步是对开发中心进行身份验证。如果您使用的是Trailhead Playground,则可以在“ 获取Trailhead Playground用户名和密码”中了解如何获取下一步的凭据。

  1. Visual Studio Code中,在macOS上按Command + Shift + P,在Windows或Linux上按Ctrl + Shift +P
  2. 键入sfdx
  3. 选择SFDX:授权开发中心
  4. 使用您的Dev Hub组织凭据登录。
  5. 点击允许
    Dev Hub认证屏幕
  6. 在浏览器中进行身份验证之后,CLI会记住您的Dev Hub凭据。成功消息应如下所示:   授权开发人员中心的成功消息

验证Dev Hub是创建临时组织的先决条件,这是在Salesforce平台上进行开发的临时环境。我们在下一步中创建一个。

创建一个临时组织
  1. 在Visual Studio Code中,在macOS上按Command + Shift + P,在Windows或Linux上按Ctrl + Shift +P
  2. 键入sfdx
  3. 选择SFDX:创建一个默认暂存组织…
  4. Enter接受默认值project-scratch-def.json
  5. Enter接受默认的trailhead临时组织别名。
  6. Enter接受默认的7 days临时组织工期。
  7. 请耐心等待,创建临时组织可能需要一分钟。在VS Code的输出面板中,成功消息应如下所示:
17:18:11.779 sfdx force:org:create -f config\project-scratch-def.json --setalias trailhead --durationdays 7 --setdefaultusername --json --loglevel fatal ended with exit code 0

现在,您已经准备好开发第一个Lightning Web组件。如果您想了解有关Salesforce DX的更多信息,请查看使用Salesforce DX进行 应用程序开发。

创建一个闪电Web组件

创建Lightning Web组件是一个简单的过程。而且Salesforce CLI已经创建了一个项目结构,可以帮助您更轻松地上手。

文件夹结构如下所示:

Visual Studio Code中Salesforce DX项目的文件浏览器视图,显示了包括.sfdx,.vscode,config和force-app的子目录。

我们创建的项目有一个特殊的文件夹force-app/main/default。此文件夹称为包目录,包含当前Salesforce DX项目的所有元数据。由于Lightning Web组件也是元数据,因此它们存储在名为的子文件夹中lwc。在下一步中,我们将Lightning Web组件添加到此文件夹。

注意

文件lwc夹中还有两个文件,.eslintrc和jsconfig.json 。我们将在本项目的后面探讨它们。

我们可以像创建Salesforce DX项目一样使用Visual Studio Code创建Lightning Web组件。或者,我们可以直接使用Salesforce CLI。

  1. 打开Visual Studio代码
  2. 在macOS上按Command + Shift + P或在Windows或Linux上按Ctrl + Shift + P,然后键入focus terminal。Enter键
  3. 输入sfdx force:lightning:component:create -n myFirstWebComponent -d force-app/main/default/lwc --type lwc,然后按Enter确认。

这将为您的第一个Lightning Web组件创建所需的文件。

具有扩展的Lightning Web组件文件夹的元数据目录结构

这些是您在命令中使用的参数。

  • -n-定义Lightning Web组件文件夹及其文件的名称。
  • -d-这定义了应在其中创建Lightning Web组件的目标目录。目标目录必须命名lwc
  • –type-这指定您要创建Lightning Web组件。

注意

如您所料,在开发过程中很容易使用Salesforce CLI。如果要为此使用Visual Studio Code,请右键单击该lwc文件夹或在Visual Studio Code中打开“命令面板”。两者都提供了SFDX选项:Create Lightning Web Component,然后调用Salesforce CLI。

将代码和元数据添加到第一个Lightning Web组件

现在让我们看一下构成Lightning Web组件的文件。为此,我们将复制并粘贴我们已经为您准备的一些HTML,JavaScript和XML。我们从myFirstWebComponent.js-meta.xml文件开始。

  1. 打开新的子文件夹myFirstWebComponent,我们只是在LWC子文件夹中创建
  2. 单击myFirstWebComponent.js-meta.xml
  3. 用以下XML标记替换XML文件的内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
       <apiVersion>45.0</apiVersion>
       <isExposed>true</isExposed>
       <targets>
           <target>lightning__AppPage</target>
           <target>lightning__RecordPage</target>
           <target>lightning__HomePage</target>
       </targets>
    </LightningComponentBundle>
  4. 在macOS上按CMD + S,在Windows或Linux上按CTRL + S来保存文件。

您刚刚更新的文件是元数据定义文件。它包含几个配置元素,这些元素控制例如使用Lightning App Builder(目标)将其添加到Salesforce用户界面的位置。您可以在文档中阅读有关元数据配置选项的更多信息 。

接下来,我们将更新Lightning Web组件的JavaScript文件。

注意

您将要复制和粘贴的JavaScript代码和HTML标记内置了一些错误。因此,不必担心看到的红色波浪线。在本项目的后面,您将结合使用Visual Studio Code和Salesforce Lightning Web组件扩展功能来解决错误。

  1. 在Visual Studio代码中,单击myFirstWebComponent.js
  2. 用以下代码替换文件的内容:
    import { LightningElement } from 'lwc';
    export default class HelloIteration extends LightningElement {
        @track
        contacts = [
            {
                Id: 1,
                Name: 'Amy Taylor',
                Title: 'VP of Engineering',
            },
            {
                Id: 2,
                Name: 'Michael Jones',
                Title: 'VP of Sales',
            },
            {
                Id: 3,
                Name: 'Jennifer Wu',
                Title: 'CEO',
            },
        ];
    }
  3. 在macOS上按CMD + S,在Windows或Linux上按CTRL + S 来保存文件。

保存文件后,您会立即注意到一些事情。

  • 带注释的单词@track在红色波浪线下划线。
  • 资源管理器中的JavaScript文件颜色变为红色,并且旁边有2。

打开JavaScript文件,突出显示错误

两者都表明JavaScript代码中的某些内容不正确。作为一名优秀的开发人员,您通常会立即对其进行修复。但是现在您可以忽略这些问题。而是将HTML标记添加到Web组件模板文件。

  1. 在Visual Studio代码中,单击myFirstWebComponent.html
  2. 将此标记插入现有<template></template>标签中:
    <lightning-card title="ContactInformation" icon-name="custom:custom14">
       <div class="slds-m-around_medium">
          <template for:each={} for:item="contact">
             <div>
                {contact.Name}, {contact.Title}
             </div>
          </template>
       </div>
    </lightning-card>
  3. 在macOS上按CMD + S,在Windows或Linux上按CTRL + S来保存文件。

同样,您会看到一个指示,表明HTML标记中的某些内容不是应该的。

HTML模板文件打开,并在第4行突出显示错误

让我们也忽略它(暂时)。

通常,下一步是将项目部署到组织中。但是代码中充满了错误,并且部署将失败。在现实生活中,您可能会或可能不会遇到失败的部署。请务必注意IDE中显示的所有错误,并立即进行修复。

设置您的Lightning Web Components开发人员工具 – 安装开发工具

学习目标

在此项目中,您将:

  • 安装推荐的开发人员工具以创建和使用Lightning Web Components。
  • 创建一个闪电Web组件。
  • 使用提供的开发人员工具修复代码中的错误。
  • 配置记录布局以显示Lightning Web组件。

您知道您可以向专家学习吗? 观看此视频,以了解有关该项目主题的更多信息:

您已经了解了称为Lightning Web Components的全新编程模型,现在您要开始构建自己的Web组件。首先,您需要一些工具。就像您需要用锤子将钉子钉入木梁中一样(除非您具有超强的强度,并且不用锤子也可以这样做),您也需要工具来编写Lightning Web组件。

确实可以使用任何文本编辑器创建Lightning Web组件,但您将无法获得一组专门工具提供的舒适性和支持。如果您是经验丰富的Salesforce开发人员,希望将Lightning Web组件集成到您的应用程序中,那么,如果将一些新工具集成到工具链中,您将更加成功。而且,如果您不熟悉Salesforce开发并希望开始构建Lightning Web组件,则需要熟悉用于Salesforce项目的正确工具链。

由于Lightning Web Components是基于现代 Web标准的,因此逻辑上关联的工具是基于Web开发人员当前流行的工具构建的,这是合乎逻辑的。

Salesforce CLI

与许多其他编程语言和模型一样,Salesforce也包含命令行界面(CLI)。如果您曾经使用过npm,yarn,gradle或maven,则Salesforce CLI可能对您来说很熟悉-只是为Salesforce开发任务量身定制的(如果这些首字母缩略词看起来像您的字母汤,那也很好)。

通过Salesforce CLI,您可以通过多种方式与Salesforce环境进行交互,例如检索或推送代码或与数据进行交互。CLI由几个插件组成。这些插件提供重要的特定功能。例如,salesforcedx插件提供了与Salesforce组织及其数据进行交互的功能。

如果您已经安装了Salesforce CLI,则可以跳过此部分。

  1. 使用适合您操作系统的链接下载Salesforce CLI:
    操作系统 链接到安装程序
    苹果系统 https://sfdc.co/sfdx_cli_osx
    Windows 32位 https://sfdc.co/sfdx_cli_win
    Windows 64位 https://sfdc.co/sfdx_cli_win64
    Debian / Ubuntu 64 https://sfdc.co/sfdx_cli_linux
    从清单中的URL之一下载档案,提取档案,然后运行./install脚本。
    Debian / Ubuntu x86 https://sfdc.co/sfdx_cli_linux_x86
    从清单中的URL之一下载档案,提取档案,然后运行./install脚本。
  2. 运行下载的安装程序。
  3. 安装后,打开命令行提示符,例如Windows或Linux上的cmd或macOS上的Terminal。
  4. 运行此命令以确认正确的安装:
    sfdx plugins --core
    您应该看到类似以下内容:

Salesforce CLI插件的终端输出。

salesforcedx插件应该被列为45.xx版或更高版本。

您已经设置好了Salesforce CLI!那很容易,不是吗?现在,作为新的Lightning Web Components开发人员,进入工具箱中的下一个工具IDE。

Visual Studio程式码

Visual Studio Code是Salesforce开发人员的首选代码编辑器。它是免费的开放源代码,可用于Windows,Linux和macOS。Visual Studio Code是Web开发人员中公认的IDE。现在,它也是构建Lightning Web组件的有效IDE,并且Salesforce提供了Visual Studio Code的免费扩展,可进一步简化您的开发体验。

请按照以下说明安装Visual Studio Code。

  1. 下载并为您的操作系统安装最新版本的 Visual Studio Code。如果您已经安装了Visual Studio Code,则无需重新安装它。
  2. 启动Visual Studio代码。
  3. 单击 左侧Visual Studio Code侧栏中的扩展选择器 边栏中的扩展图标。
  4. 在搜索栏中输入闪电Web组件。这将显示可用扩展的列表。
    Visual Studio Code中的Salesforce扩展列表
  5. 单击“ Lightning Web组件”扩展旁边的“安装”
  6. 在macOS上按Command + Shift + P或在Windows或Linux上按Ctrl + Shift + P 以显示命令面板。在命令面板中,键入sfdx以显示可用命令的初始列表。

做完了!您已经安装了开发第一个Lightning Web组件所需的所有工具。

我们还提供了 Salesforce扩展包。该扩展包为在Lightning平台上进行开发提供了出色的工具,并且包括用于与Apex,Visualforce甚至是Replay Debugger一起使用的工具。

激活开发人员中心

对于此项目,您将Trailhead Playground用作开发人员中心,并在临时组织中创建Lightning Web组件。但是首先让我们解释一下开发人员中心和临时组织。

一个从无到有组织是一个专门的,可配置的,短期的Salesforce环境,您可以快速地旋转起来开始一个新项目,一个新的特性分支,或功能测试时。

一个开发者中心(开发中心) 是主要的Salesforce组织,你和你的团队来创建和管理您的划痕机构单位。

注意

在组织中启用Dev Hub后,您将无法禁用它。

  1. 启动您的Trailhead游乐场。
  2. 单击 设置齿轮图标。 并选择设置
  3. 从设置中,在快速查找框中输入Dev Hub,然后选择Dev Hub。
  4. 要启用Dev Hub,请点击启用

而已。您已经设置了启用了Lightning Web Components的Dev Hub,并下载,安装和配置了所需的工具。在下一步中,您将使用这些工具来创建第一个Lightning Web组件。