电Web组件基础 – 创建闪电Web组件

学习目标

完成本单元后,您将能够:

  • 描述每个组件文件的内容。
  • 为Lightning Web组件创建JavaScript方法。
  • 在组件JavaScript中使用生命周期挂钩。

一些严肃的游戏时间

假设您要独立于Salesforce中的特定对象构建数据显示元素。一个很好的例子是ebikes示例存储库中的 productCard组件。让我们检查一下该卡组件,并从头开始构建我们自己的版本,以便您可以看到它如何演变为成熟的Lightning Web组件。在Lightning Web Components Playground中构建组件的各个部分并探索更多示例时,您将快速获得基础知识。

组件只需要一个文件夹及其名称相同的文件。它们会按名称和位置自动链接。

文件夹中的组件文件

所有Lightning Web组件都有一个名称空间,该名称空间与文件夹名称之间用连字符分隔。例如,默认名称空间c中文件夹名称为app的Lightning Web组件的标记为<c-app>。您可以main.js在Lightning Web Components Playground中看到这一点。

但是,Salesforce平台不允许在组件文件夹或文件名中使用连字符。如果组件的名称包含多个单词(例如“ mycomponent”)怎么办?您无法命名文件夹和文件my-component,但是我们有一个便捷的解决方案。

使用驼峰式外壳命名您的组件myComponent。驼峰案例组件文件夹名称在标记中映射到kebab-case。在标记中,要引用文件夹名为myComponent的组件,请使用<c-my-component>

例如,LWC Samples存储库的 viewSource文件夹包含viewSource组件的文件。当hello组件 引用HTML中的viewSource组件时,将使用 c-view-source

浏览HTML文件

Lightning Web组件HTML文件均包含 template标记。该 template标签包含定义您的组件结构的HTML。让我们看一下ebikes回购中productCard组件的简化版本的HTML。

接下来,将这些示例粘贴到 Lightning Web Components Playground中。

  1. 单击新建开始一个新项目。
  2. 将以下内容粘贴到app.html中(替换文件中所有现有的HTML)。
<template>
    <div>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <div>Category: {category}</div>
        <div>Material: {material}</div>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

花括号{}中的标识符绑定到相应JavaScript类中同名的字段。

这是一个支持此HTML的JavaScript文件。将此粘贴到app.js

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
   name = 'Electra X4';
   description = 'A sweet bike built for comfort.';
   category = 'Mountain';
   material = 'Steel';
   price = '$2,700';
   pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
}

预览现在显示带有一些细节的自行车。如果没有,请点击运行

现在,假设您要显示数据,但是您知道它可能需要一些时间才能加载。您不希望用户想知道怎么回事。您可以在模板中使用 if:false和 if:true条件指令来确定呈现哪些视觉元素。

在“显示”以下内容 div标签没有出现,直到值 ready是 true在HTML文件中。

<template>
    <div id="waiting" if:false={ready}>Loading</div>
    <div id="display" if:true={ready}>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <div>Category: {category}</div>
        <div>Material: {material}</div>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

这是一些JavaScript在操场上进行测试。这将保留我们的数据值并设置3秒计时器。3秒后,内容应出现。(当然,这仅用于测试目的。)

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
   name = 'Electra X4';
   description = 'A sweet bike built for comfort.';
   category = 'Mountain';
   material = 'Steel';
   price = '$2,700';
   pictureUrl = 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg';
   ready = false;
   connectedCallback() {
       setTimeout(() => {
           this.ready = true;
       }, 3000);
   }
}

单击运行以查看条件指令的运行。

基础闪电Web组件

现在,您不想从头开始构建所有组件。因此,让我们探索使用基本的Lightning Web组件。当然,还有很多组件,包括字段类型,显示控制器,导航项等等。所有这些都在“组件参考”中列出 。

让我们突出自行车的细节。为此,将上一个示例中的材质和类别的div标签替换为lightning-badge组件。这是HTML。

<template>
    <div id="waiting" if:false={ready}>Loading</div>
    <div id="display" if:true={ready}>
        <div>Name: {name}</div>
        <div>Description: {description}</div>
        <lightning-badge label={material}></lightning-badge>
        <lightning-badge label={category}></lightning-badge>
        <div>Price: {price}</div>
        <div><img src={pictureUrl}/></div>
    </div>
</template>

钢铁山峰这两个字作为徽章出现。就这么简单。

正在使用闪电徽章

好。让我们看一下JavaScript。

使用JavaScript

这是使事情发生的地方。到目前为止,您已经看到,JavaScript方法定义了如何处理输入,数据,事件,状态更改等,以使组件正常工作。

Lightning Web组件的JavaScript文件必须至少包含此代码,其中 MyComponent是您分配的组件类的名称。

import { LightningElement } from 'lwc';
export default class MyComponent extends LightningElement {
}

该 export语句定义了扩展 LightningElement该类的类。最佳做法是,类的名称通常与JavaScript类的文件名匹配,但这不是必需的。

LWC模块

Lightning Web Components使用模块(ECMAScript 6中引入了内置模块)来捆绑核心功能,并使组件文件中的JavaScript可以访问它。Lightning Web组件的核心模块是 lwc

从import语句开始模块,并指定组件使用的模块功能。

该 import语句指示JavaScript使用模块中的 LightningElement功能 lwc

// import module elements
import { LightningElement} from 'lwc';
// declare class to expose the component
export default class App extends LightningElement {
    ready = false;
    // use lifecycle hook
    connectedCallback() {
        setTimeout(() => {
            this.ready = true;
        }, 3000);
    }
}
  • LightningElement是Lightning Web组件的基类,它允许我们使用connectedCallback()
  • connectedCallback()方法是我们生命周期的钩子之一。在下一节中,您将了解有关生命周期挂钩的更多信息。现在,知道在将组件插入文档对象模型(DOM)中时触发该方法。在这种情况下,它将启动计时器。

生命周期挂钩

Lightning Web Components提供了一些方法,使您可以将代码“挂钩”到组件生命周期中的关键事件。这些事件包括组件何时为:

  • 已建立
  • 添加到DOM
  • 在浏览器中呈现
  • 遇到错误
  • 已从DOM中删除

使用回调方法响应任何这些生命周期事件。例如,将 connectedCallback()组件插入DOM时将调用。disconnectedCallback()当从DOM中删除组件时, 将调用。

在我们用来测试条件渲染的JavaScript文件中,connectedCallback()当组件插入DOM时,我们使用了该 方法自动执行代码。代码等待3秒钟,然后设置ready为 true

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
    ready = false;
    connectedCallback() {
        setTimeout(() => {
            this.ready = true;
        }, 3000);
    }
}

注意

在VS Code之类的编辑器中使用此示例时,可能会看到该setTimeout()函数的警告消息“ Restricted async operation ….” 。此警告表明您使用的异步操作经常被滥用;它根据时间延迟行为,而不是等待事件。在这种情况下, setTimeout()适合演示任意时间延迟,并且警告不应阻止您使用它。

另外,请注意,我们使用了 this关键字。如果您已经编写了JavaScript,那么关键字的用法应该很熟悉,并且其行为就像在其他环境中一样。thisJavaScript中的 关键字指的是当前上下文的顶层。在这里,上下文是此类。该 connectedCallback()方法为顶级就绪变量分配值。这是一个很好的例子,说明了Lightning Web Components如何将JavaScript功能引入您的开发。您可以this在参考资料小节中找到有关良好信息的链接 。

我们发展很快,您已经可以尝试一些方法。在下一个单元中,我们将退后一步,进一步讨论组件所处的环境。

装饰工

装饰器通常在JavaScript中用于修改属性或函数的行为。

要使用装饰器,请从lwc模块导入装饰器, 并将其放置在属性或函数之前。

import { LightningElement, api } from 'lwc';
export default class MyComponent extends LightningElement{
    @api message;
}

您可以导入多个装饰器,但是一个属性或函数只能有一个装饰器。例如,属性不能具有 @api和 @wire装饰器。

Lightning Web Components装饰器的示例包括:

  • @api:将字段标记为公共。公共属性定义组件的API。在其HTML标记中使用该组件的所有者组件可以访问该组件的公共属性。所有公共属性都是反应性的,这意味着框架会观察该属性以进行更改。当属性值更改时,框架会做出反应并重新渲染组件。
    提示字段和属性几乎是可以互换的术语。组件作者在JavaScript类中声明字段。该类的实例具有属性。对于组件使用者,字段是属性。在Lightning Web组件中,只有组件作者@api用来装饰的字段才可以作为对象属性公开给消费者。
  • @track:告诉框架观察对象属性或数组元素的更改。如果发生更改,框架将重新渲染该组件。所有字段都是反应性的。如果字段的值发生更改,并且该字段在模板中使用(或在模板中使用的属性的获取器中使用),则框架将重新渲染该组件。您无需使用修饰字段@track。使用@track如果一个字段包含一个对象或数组只,如果你想的框架来观察更改对象的属性或数组的元素。如果要更改整个属性的值,则无需使用@track
    在20年春季之前,您必须使用@track将字段(也称为私有属性)标记为反应性。您不再需要这样做。使用@track只告诉框架来观察变化为对象的属性,或为数组的元素。一些旧的示例可能仍会@track在不需要的地方使用,但这没关系,因为使用装饰器不会更改功能或破坏代码。有关更多信息,请参见此 发行说明。
  • @wire:为您提供一种从Salesforce组织获取和绑定数据的简便方法。

这是一个使用@api装饰器从另一个组件(应用程序)中的一个组件(自行车)渲染值的示例 。在组件游乐场中,文件如下所示:示例应用程序文件结构。

该应用程序组件使用以下HTML。

<!-- app.html -->
<template>
<div>
    <c-bike bike={bike}></c-bike>
</div>
</template>

该应用程序组件使用以下JavaScript。

// app.js
import { LightningElement } from 'lwc';
export default class App extends LightningElement {
    bike = {
        name: 'Electra X4',
        picture: 'https://s3-us-west-1.amazonaws.com/sfdc-demo/ebikes/electrax4.jpg'
    };
}

自行车组件使用以下HTML。

<!-- bike.html -->
<template>
    <img src={bike.picture} alt="bike picture" />
    <p>{bike.name}</p>
</template>

自行车组件使用以下JavaScript。

// bike.js
import { LightningElement, api } from 'lwc';
export default class Bike extends LightningElement {
    @api bike;
}

在带有和不带有@api装饰器的组件游乐场中尝试一下, 以查看行为。

奖金!在操场上尝试这些组件

既然您已经熟悉了组件操场,那么花点时间尝试一下Lightning Web Components Recipes中的一些示例 。尝试将其中的示例中的一些HTML,JavaScript和CSS粘贴到组件游乐场中,这是熟悉核心组件概念的一种好方法。

闪电Web组件基础 – 发现闪电Web组件

学习目标

完成本单元后,您将能够:

  • 解释Lightning Web Components编程模型。
  • 列出使用Lightning Web组件的好处。
  • 查找开始开发Lightning Web组件所需的条件。

Web标准编程的门户

现在是时候将您的Salesforce知识和对HTML,JavaScript和CSS等标准技术的熟悉程度结合在一起,以构建下一代Salesforce应用程序。使用这些通用标准为您的Salesforce组织构建组件,同时保持与现有Aura组件的兼容性。

Lightning Web Components专注于开发人员和用户体验。因为我们为现有技术打开了大门,所以您可以利用在Salesforce之外开发的技能来构建Lightning Web组件。您可以使用所有这些功能,而不必放弃使用Aura组件已经完成的工作。

注意

您是否注意到最后一段中的大写字母不同?如果是这样,您有敏锐的眼睛。当我们引用Lightning Web Components编程模型时,所有单词都大写。仅当我们将组件本身称为Lightning Web组件时,才大写第一个单词。

另外,您一直在使用的Lightning Components编程模型现在称为Aura Components。这些组件本身称为Aura组件。

在您进一步之前

您应该对Salesforce DX项目和Salesforce CLI有基本的了解。您还需要在Trailhead帐户中使用正确配置的组织,并在Salesforce Extension Pack中使用VS Code。您可以通过完成快速入门:闪电Web组件了解所有这些 信息。

如果您使用的是附加到Trailhead帐户的Developer Edition组织,则需要在安装程序中部署“我的域”(Trailhead Playground组织会自动部署“我的域”)。

为什么要使用闪电Web组件?

现代浏览器基于Web标准,并且不断发展的标准正在不断改进浏览器可以呈现给用户的内容。我们希望您能够利用这些创新。

Lightning Web Components使用核心 Web Components标准,仅提供在Salesforce支持的浏览器中良好运行所必需的内容。因为它基于在浏览器中本地运行的代码构建,所以Lightning Web Components是轻量级的,并具有出色的性能。您编写的大多数代码都是标准的JavaScript和HTML。

您会发现更容易:

  • 在网上常见的地方找到解决方案。
  • 寻找具有必要技能和经验的开发人员。
  • 利用其他开发人员的经验(甚至在其他平台上)。
  • 发展更快。
  • 利用完整的封装,使组件更加通用。

而且这并不像Web组件是新的。实际上,浏览器多年来一直在创造这些东西。实例包括 <select>, <video>, <input>,和作为比容器更任何标签。这些元素实际上等效于Web组件。我们的目标是将这种集成水平带入Salesforce开发。

简单组件创建

遵守Web标准的好处是简单。您无需增加特定框架的怪癖。您只需使用HTML,JavaScript和CSS创建组件。闪电Web组件的创建是一个,两个,三个步骤。我不是在开玩笑。真的就是这么简单。您创建(1)JavaScript文件,(2)HTML文件,以及可选的(3)CSS文件。

  • HTML提供了组件的结构。
  • JavaScript定义了核心业务逻辑和事件处理。
  • CSS为您的组件提供外观,感觉和动画。

这些是您组件的基本组成部分。

这是一个非常简单的Lightning Web组件,它在输入字段中显示“ Hello World”。

的HTML

<template>
    <input value={message}></input>
</template>

template标签是一个组件的HTML的基本构建块。它允许您存储HTML片段。

的JavaScript

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
  message = 'Hello World';
}

稍后我们还将介绍import语句和类声明的详细信息。

的CSS

input {
   color: blue;
}

至少,您真正需要的只是在同一文件夹中具有相同名称(也具有匹配名称)的HTML文件和JavaScript文件。您将它们部署到带有一些元数据的组织中,一切顺利。Salesforce会编译您的文件并自动为您处理样板组件的构造。

闪电Web组件游乐场

让我们去游乐场。我们已经创建了一个空间,您可以在其中试用组件,进行修改,并查看即时结果。

  1. 转到 https://developer.salesforce.com/docs/component-library/tools/playground第一次到达那里时,您会看到一个可以探索的示例。它包括Lightning Design System CSS框架中的样式。这些样式提供了与Lightning Experience一致的外观。它还包含一些标准的Lightning Web组件,例如lightning-combobox。
  2. 现在,我们只想测试基础知识。在操场上,单击“新建”
  3. 将上述HTML,JavaScript和CSS示例复制到操场上相应的应用程序文件中。
  4. 点击运行。恭喜你!您已经创建了一个组件。

如果返回到 初始的Playground页面,您将再次看到默认示例,并且可以开始一个新项目。

闪电Web组件和Aura组件可以协同工作

想知道是否可以保留现有的Aura组件?是的你可以!您可以使用Lightning Web组件,而无需放弃现有组件。您最终可能会将现有组件迁移到Lightning Web Component模型,但是我们将引入Lightning Web组件,而不会脱离Aura组件的现有支持。Aura组件和Lightning Web组件可以很好地协作。

实际上,Aura组件可以包含Lightning Web组件(尽管反之亦然)。但是,纯Lightning Web组件实现提供了完全的封装,并不断发展对通用标准的遵守。

可以使用的很酷的东西

要有效地开发Lightning Web组件,请使用以下工具和环境。

Dev Hub和Scratch Orgs Scratch组织是一次性的Salesforce组织,以支持开发和测试。开发中心是一项功能,可管理您的临时组织。两者都是Salesforce DX工具集的一部分。Salesforce DX是由Salesforce构建和支持的一组集成开发工具。 Salesforce命令行界面(CLI) Salesforce CLI提供了一种快速的方法来运行用于创建和配置临时组织以及部署组件的操作。这也是Salesforce DX工具集的一部分。 Lightning组件库有关Aura和Lightning Web组件以及如何使用它们的参考,参见 https://developer.salesforce.com/docs/component-library/overview/components。

您也可以通过组织的实例查看该库,网址为http:// <instance> .lightning.force.com / docs / component-library。通过查看实例中的库,您只会看到组织的正确版本。而且,当您创建自己的自定义组件时,它们也会出现在库中。

GitHub我们通过GitHub存储库共享扩展,示例等。获取一个GitHub帐户,以确保您可以利用这些产品。 Visual Studio代码Salesforce扩展包我们将Visual Studio视为开发工具,为您提供用于构建组件的集成环境。适用于Visual Studio Code的Salesforce扩展包提供了代码提示,棉绒警告和内置命令:https : //marketplace.visualstudio.com/items?itemName= salesforce.salesforcedx-vscode 。 Lightning Web组件食谱我们提供了一个GitHub存储库,以帮助您了解Lightning Web组件的工作方式。您可以克隆,修补并将这些样本混合发布到您自己的临时组织中,并查看它们的实际效果。拿到 https://github.com/trailheadapps/lwc-recipes。 电动自行车演示此GitHub存储库是查看Lightning Web组件如何工作的另一种好方法。电动自行车演示是Lightning Web组件的端到端实现,以创建应用程序。在您自己的临时组织中尝试此示例。在https://github.com/trailheadapps/ebikes-lwc上获取它 。 Lightning Data Service(LDS)通过Lightning Data Service从Salesforce访问数据和元 数据。与数据配合使用的基础Lightning组件基于LDS构建。自定义您自己的组件,以利用LDS缓存,变更跟踪,性能等优势。 防雷柜通过具有Lightning Locker的安全性,可以保护属于一个名称空间的Lightning Web组件免受其他名称空间中的组件的影响 。通过仅允许访问受支持的API并消除对未发布框架内部的访问,Lightning Locker还倡导了最佳实践,这些最佳实践提高了代码的可支持性。

展望未来

欢迎来到Lightning Web组件的世界

在您准备将文件部署到临时组织之前,我们将继续使用Lightning Web Components Playground作为另一个单元。在操场上,我们将看到您可以使用HTML和JavaScript文件做什么。

闪电Web组件基础 – 发现闪电Web组件

学习目标

完成本单元后,您将能够:

  • 解释Lightning Web Components编程模型。
  • 列出使用Lightning Web组件的好处。
  • 查找开始开发Lightning Web组件所需的条件。

Web标准编程的门户

现在是时候将您的Salesforce知识和对HTML,JavaScript和CSS等标准技术的熟悉程度结合在一起,以构建下一代Salesforce应用程序。使用这些通用标准为您的Salesforce组织构建组件,同时保持与现有Aura组件的兼容性。

Lightning Web Components专注于开发人员和用户体验。因为我们为现有技术打开了大门,所以您可以利用在Salesforce之外开发的技能来构建Lightning Web组件。您可以使用所有这些功能,而不必放弃使用Aura组件已经完成的工作。

注意

您是否注意到最后一段中的大写字母不同?如果是这样,您有敏锐的眼睛。当我们引用Lightning Web Components编程模型时,所有单词都大写。仅当我们将组件本身称为Lightning Web组件时,才大写第一个单词。

另外,您一直在使用的Lightning Components编程模型现在称为Aura Components。这些组件本身称为Aura组件。

在您进一步之前

您应该对Salesforce DX项目和Salesforce CLI有基本的了解。您还需要在Trailhead帐户中使用正确配置的组织,并在Salesforce Extension Pack中使用VS Code。您可以通过完成快速入门:闪电Web组件了解所有这些 信息。

如果您使用的是附加到Trailhead帐户的Developer Edition组织,则需要在安装程序中部署“我的域”(Trailhead Playground组织会自动部署“我的域”)。

为什么要使用闪电Web组件?

现代浏览器基于Web标准,并且不断发展的标准正在不断改进浏览器可以呈现给用户的内容。我们希望您能够利用这些创新。

Lightning Web Components使用核心 Web Components标准,仅提供在Salesforce支持的浏览器中良好运行所必需的内容。因为它基于在浏览器中本地运行的代码构建,所以Lightning Web Components是轻量级的,并具有出色的性能。您编写的大多数代码都是标准的JavaScript和HTML。

您会发现更容易:

  • 在网上常见的地方找到解决方案。
  • 寻找具有必要技能和经验的开发人员。
  • 利用其他开发人员的经验(甚至在其他平台上)。
  • 发展更快。
  • 利用完整的封装,使组件更加通用。

而且这并不像Web组件是新的。实际上,浏览器多年来一直在创造这些东西。实例包括 <select>, <video>, <input>,和作为比容器更任何标签。这些元素实际上等效于Web组件。我们的目标是将这种集成水平带入Salesforce开发。

简单组件创建

遵守Web标准的好处是简单。您无需增加特定框架的怪癖。您只需使用HTML,JavaScript和CSS创建组件。闪电Web组件的创建是一个,两个,三个步骤。我不是在开玩笑。真的就是这么简单。您创建(1)JavaScript文件,(2)HTML文件,以及可选的(3)CSS文件。

  • HTML提供了组件的结构。
  • JavaScript定义了核心业务逻辑和事件处理。
  • CSS为您的组件提供外观,感觉和动画。

这些是您组件的基本组成部分。

这是一个非常简单的Lightning Web组件,它在输入字段中显示“ Hello World”。

的HTML

<template>
    <input value={message}></input>
</template>

template标签是一个组件的HTML的基本构建块。它允许您存储HTML片段。

的JavaScript

import { LightningElement } from 'lwc';
export default class App extends LightningElement {
  message = 'Hello World';
}

稍后我们还将介绍import语句和类声明的详细信息。

的CSS

input {
   color: blue;
}

至少,您真正需要的只是在同一文件夹中具有相同名称(也具有匹配名称)的HTML文件和JavaScript文件。您将它们部署到带有一些元数据的组织中,一切顺利。Salesforce会编译您的文件并自动为您处理样板组件的构造。

闪电Web组件游乐场

让我们去游乐场。我们已经创建了一个空间,您可以在其中试用组件,进行修改,并查看即时结果。

  1. 转到 https://developer.salesforce.com/docs/component-library/tools/playground第一次到达那里时,您会看到一个可以探索的示例。它包括Lightning Design System CSS框架中的样式。这些样式提供了与Lightning Experience一致的外观。它还包含一些标准的Lightning Web组件,例如lightning-combobox。
  2. 现在,我们只想测试基础知识。在操场上,单击“新建”
  3. 将上述HTML,JavaScript和CSS示例复制到操场上相应的应用程序文件中。
  4. 点击运行。恭喜你!您已经创建了一个组件。

如果返回到 初始的Playground页面,您将再次看到默认示例,并且可以开始一个新项目。

闪电Web组件和Aura组件可以协同工作

想知道是否可以保留现有的Aura组件?是的你可以!您可以使用Lightning Web组件,而无需放弃现有组件。您最终可能会将现有组件迁移到Lightning Web Component模型,但是我们将引入Lightning Web组件,而不会脱离Aura组件的现有支持。Aura组件和Lightning Web组件可以很好地协作。

实际上,Aura组件可以包含Lightning Web组件(尽管反之亦然)。但是,纯Lightning Web组件实现提供了完全的封装,并不断发展对通用标准的遵守。

可以使用的很酷的东西

要有效地开发Lightning Web组件,请使用以下工具和环境。

Dev Hub和Scratch Orgs Scratch组织是一次性的Salesforce组织,以支持开发和测试。开发中心是一项功能,可管理您的临时组织。两者都是Salesforce DX工具集的一部分。Salesforce DX是由Salesforce构建和支持的一组集成开发工具。 Salesforce命令行界面(CLI) Salesforce CLI提供了一种快速的方法来运行用于创建和配置临时组织以及部署组件的操作。这也是Salesforce DX工具集的一部分。 Lightning组件库有关Aura和Lightning Web组件以及如何使用它们的参考,参见 https://developer.salesforce.com/docs/component-library/overview/components。

您也可以通过组织的实例查看该库,网址为http:// <instance> .lightning.force.com / docs / component-library。通过查看实例中的库,您只会看到组织的正确版本。而且,当您创建自己的自定义组件时,它们也会出现在库中。

GitHub我们通过GitHub存储库共享扩展,示例等。获取一个GitHub帐户,以确保您可以利用这些产品。 Visual Studio代码Salesforce扩展包我们将Visual Studio视为开发工具,为您提供用于构建组件的集成环境。适用于Visual Studio Code的Salesforce扩展包提供了代码提示,棉绒警告和内置命令:https : //marketplace.visualstudio.com/items?itemName= salesforce.salesforcedx-vscode 。 Lightning Web组件食谱我们提供了一个GitHub存储库,以帮助您了解Lightning Web组件的工作方式。您可以克隆,修补并将这些样本混合发布到您自己的临时组织中,并查看它们的实际效果。拿到 https://github.com/trailheadapps/lwc-recipes。 电动自行车演示此GitHub存储库是查看Lightning Web组件如何工作的另一种好方法。电动自行车演示是Lightning Web组件的端到端实现,以创建应用程序。在您自己的临时组织中尝试此示例。在https://github.com/trailheadapps/ebikes-lwc上获取它 。 Lightning Data Service(LDS)通过Lightning Data Service从Salesforce访问数据和元 数据。与数据配合使用的基础Lightning组件基于LDS构建。自定义您自己的组件,以利用LDS缓存,变更跟踪,性能等优势。 防雷柜通过具有Lightning Locker的安全性,可以保护属于一个名称空间的Lightning Web组件免受其他名称空间中的组件的影响 。通过仅允许访问受支持的API并消除对未发布框架内部的访问,Lightning Locker还倡导了最佳实践,这些最佳实践提高了代码的可支持性。

展望未来

欢迎来到Lightning Web组件的世界

在您准备将文件部署到临时组织之前,我们将继续使用Lightning Web Components Playground作为另一个单元。在操场上,我们将看到您可以使用HTML和JavaScript文件做什么。

设置您的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组件。

快速入门:闪电Web组件 – 创建一个Hello World Lightning Web组件

创建一个Hello World Lightning Web组件

现在,您已经设置了开发环境,您可以创建一个简单的Lightning Web组件。

创建一个Salesforce DX项目
  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入SFDX
  3. 选择SFDX:创建项目
  4. Enter接受标准选项。
  5. 输入HelloWorldLightningWebComponent作为项目名称。
  6. Enter键
  7. 选择一个文件夹来存储项目。
  8. 单击创建项目。您应该在基本设置中看到类似这样的内容。
    带有新创建的HelloWorldLightningWebComponent文件夹的Visual Studio代码
授权您的Trailhead游乐场
  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入SFDX
  3. 选择SFDX:授权组织
  4. Enter接受“项目默认登录URL”选项。
  5. Enter接受默认别名。
    这将在单独的浏览器窗口中打开Salesforce登录。
  6. 使用您的Trailhead Playground凭据登录。
  7. 如果提示允许访问,请单击允许
    允许访问对话框
  8. 在浏览器中进行身份验证后,CLI会记住您的凭据。成功消息应如下所示:
    授权组织的成功信息
创建一个闪电Web组件
  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入SFDX
  3. 选择SFDX:创建Lightning Web组件。不要使用SFDX:创建闪电组件。(这将创建一个Aura组件。)
  4. 输入helloWorld新组件的名称。
  5. Enter接受默认值force-app/main/default/lwc.
  6. Enter键
  7. 在Visual Studio Code中查看新创建的文件。
    Visual Studio Code中的闪电Web组件文件层次结构
  8. 在HTML文件中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>
  9. 保存文件。
  10. 在JavaScript文件中helloWorld.js,复制并粘贴以下代码。
    import { LightningElement } from 'lwc';
    export default class HelloWorld extends LightningElement {
      greeting = 'World';
      changeHandler(event) {
        this.greeting = event.target.value;
      }
    }
  11. 保存文件。
  12. 在XML文件中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>
  13. 保存文件。
部署到您的Trailhead游乐场
  1. 右键单击下的default文件夹force-app/main
    右键单击默认文件夹,在选项列表中选择“ SFDX:将源部署到组织”。
  2. 单击SFDX:将源部署到组织
  3. 在集成终端的“输出”选项卡中,查看部署结果。您还应该收到一条声明,指出:SFDX: Deploy Source to Org ... ended with exit code 0。这意味着命令已成功运行。
    “输出”选项卡显示结果,成功退出代码为0。
在Lightning Experience中将组件添加到App
  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入SFDX
  3. 选择SFDX:打开Default Org
    这将在单独的浏览器中打开您的Trailhead Playground。
  4. 在应用启动器(应用启动器)中,找到并选择销售。
  5. 单击 安装装置 然后选择“编辑页面”
  6. helloWorldLightning Web组件从Lightning Components列表的Custom区域拖到Page Canvas的顶部。右侧栏中包含带有HelloWorld lightning Web组件的Lightning App Builder。
  7. 点击保存
  8. 点击激活
  9. 单击分配为组织默认值
  10. 点击保存
  11. 再次单击保存,然后单击后退箭头以返回到页面。
  12. 刷新页面以查看新组件。

HelloWorld Lightning Web组件的主页。

您已经正式制作了第一个Lightning Web组件!

快速入门:闪电Web组件 – 设置Visual Studio代码

设置Visual Studio代码

安装用于Visual Studio Code的Salesforce Extensions

Visual Studio Code是Salesforce开发人员的首选代码编辑器。它是免费的开放源代码,可用于Windows,Linux和macOS。该编辑器具有易于安装的扩展程序,用于语法高亮显示,代码完成等。

运行中的Visual Studio Code的代码完成。

在此项目中,我们将安装Visual Studio Code和推荐的Salesforce Extension Pack。

  1. 下载并为您的操作系统安装最新版本的 Visual Studio Code。如果您已经安装了Visual Studio Code,则无需重新安装它。
  2. 启动Visual Studio代码。
  3. 在左侧工具栏上,单击扩展图标 Visual Studio代码的扩展图标。 。
  4. 搜索Salesforce Extension Pack并单击安装
    Visual Studio Code搜索Salesforce Extension Pack。

注意

Salesforce Extensions for Visual Studio Code中的某些功能(尤其是Apex支持)取决于Java平台标准版开发套件(JDK)。仅支持JDK 8和11。如果安装了其他版本的Java,则还需要安装JDK 8或JDK11。一旦安装了正确的JDK,请使用以下链接来配置设置:

  • Salesforce扩展:Java设置
  • Salesforce Extensions:设置您的Java版本
确保您的开发环境准备就绪

既然您已经安装了Visual Studio Code并启用了必要的扩展,则需要对其进行测试。 

  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入sfdx以过滤由Salesforce Extensions提供的命令。

当您使用更多SFDX命令时,这些命令将显示在recently used面板中。

Visual Studio代码:在Visual Studio代码中过滤sfdx命令。

在最后一步中,您将创建第一个Lightning Web组件并将其添加到组织的主页中。

我们不会检查您的任何设置。单击验证步骤转到项目的下一步。

快速入门:闪电Web组件 – 设置Visual Studio代码

设置Visual Studio代码

安装用于Visual Studio Code的Salesforce Extensions

Visual Studio Code是Salesforce开发人员的首选代码编辑器。它是免费的开放源代码,可用于Windows,Linux和macOS。该编辑器具有易于安装的扩展程序,用于语法高亮显示,代码完成等。

运行中的Visual Studio Code的代码完成。

在此项目中,我们将安装Visual Studio Code和推荐的Salesforce Extension Pack。

  1. 下载并为您的操作系统安装最新版本的 Visual Studio Code。如果您已经安装了Visual Studio Code,则无需重新安装它。
  2. 启动Visual Studio代码。
  3. 在左侧工具栏上,单击扩展图标 Visual Studio代码的扩展图标。 。
  4. 搜索Salesforce Extension Pack并单击安装
    Visual Studio Code搜索Salesforce Extension Pack。

注意

Salesforce Extensions for Visual Studio Code中的某些功能(尤其是Apex支持)取决于Java平台标准版开发套件(JDK)。仅支持JDK 8和11。如果安装了其他版本的Java,则还需要安装JDK 8或JDK11。一旦安装了正确的JDK,请使用以下链接来配置设置:

  • Salesforce扩展:Java设置
  • Salesforce Extensions:设置您的Java版本
确保您的开发环境准备就绪

既然您已经安装了Visual Studio Code并启用了必要的扩展,则需要对其进行测试。 

  1. 在Visual Studio Code中,通过按Ctrl + Shift + P(Windows)或Cmd + Shift + P(macOS)打开命令面板。
  2. 输入sfdx以过滤由Salesforce Extensions提供的命令。

当您使用更多SFDX命令时,这些命令将显示在recently used面板中。

Visual Studio代码:在Visual Studio代码中过滤sfdx命令。

在最后一步中,您将创建第一个Lightning Web组件并将其添加到组织的主页中。

我们不会检查您的任何设置。单击验证步骤转到项目的下一步。

快速入门:闪电Web组件 – 设置您的Salesforce DX环境

学习目标

在此项目中,您将:

  • 安装Salesforce CLI。
  • 安装用于Salesforce DX的Visual Studio代码和扩展。
  • 创建和部署Lightning Web组件。

介绍

Lightning Web Components是用于构建Lightning组件的新编程模型。它利用了Web标准的突破,可以与Aura编程模型共存和互操作,并提供无与伦比的性能。要创建和开发Lightning Web Components并利用其强大的功能和性能优势,您需要设置Salesforce DX。对于此快速入门,您还可以使用Visual Studio Code,这是在Salesforce平台上开发的推荐代码编辑器。准备好开发人员环境后,您将学习如何编写简单的Lightning Web组件并将其添加到Lightning Experience中的页面。

Salesforce开发人员体验(DX)是一组可简化整个开发生命周期的工具。它改善了团队开发和协作,促进了自动化测试和持续集成,并使发布周期更加有效和敏捷。

设置您的Trailhead游乐场

创建一个新的Trailhead游乐场。

  1. 要创建新的Trailhead Playground,请点击此步骤末尾的下拉菜单,然后选择Create a Trailhead Playground
    项目的“验证步骤”挑战中的“创建Trailhead游乐场”下拉列表。
  2. 拥有Trailhead游乐场后,点击启动

重置你的密码。您需要用户名和密码,以在以后的步骤中使用Salesforce CLI对Trailhead Playground进行身份验证。

如果您在组织中看到一个标签为Get Your Login Credentials的标签,那就太好了!请按照以下步骤操作。如果不是,请从App Launcher(应用启动器)中找到并选择Playground Starter,然后按照以下步骤操作。如果您没有看到Playground Starter应用程序,请在Trailhead帮助中签出 查找Trailhead Playground的用户名和密码。

  1. 单击获取您的登录凭据选项卡,并记下您的用户名。
  2. 单击重置我的密码。这会将电子邮件发送到与您的用户名关联的地址。
  3. 单击电子邮件中的链接。
  4. 输入新密码,确认,然后单击更改密码

安装命令行界面(CLI)

使用Salesforce CLI来控制Salesforce应用程序的整个应用程序生命周期。有了它,您可以轻松地创建用于开发和测试的环境,在组织和VCS之间同步源代码,并执行测试。

  1. 使用下面的链接安装CLI。
    操作系统 链接到安装程序
    苹果系统 https://sfdc.co/sfdx_cli_osx
    右键单击刚下载的应用程序,然后单击“打开”。如果看到警告,请单击“打开”
    项目的“验证步骤”挑战中的“创建Trailhead游乐场”下拉列表。
    该警告会告诉您,该应用程序尚未由确定的开发人员向Apple注册。在这种情况下,您知道该应用来自受信任的来源,因此可以将其打开。通常,在打开之前,请仔细检查从Internet下载的应用程序-或将它们发送给公司的安全团队以进行检查。
    Windows 32位 https://sfdc.co/sfdx_cli_win
    如果您不是计算机上的唯一帐户,则可能需要使用bin目录更新您的类路径。
    Windows 64位 https://sfdc.co/sfdx_cli_win64
    如果您不是计算机上的唯一帐户,则可能需要使用bin目录更新您的类路径。
    Debian / Ubuntu 64 https://sfdc.co/sfdx_cli_linux
    从清单中的URL之一下载档案,提取档案,然后运行./install脚本。
    Debian / Ubuntu x86 https://sfdc.co/sfdx_cli_linux_x86
    从清单中的URL之一下载档案,提取档案,然后运行./install脚本。
  2. 让我们确保正确安装了CLI,并且您知道如何访问命令的联机帮助。在命令窗口中,输入sfdx。您会看到以下内容:
    Salesforce CLI
    VERSION
      sfdx-cli/7.36.0-sfdx-cli/7.36.0-b1c4e9c7c8 darwin-x64 node-v10.15.3
    USAGE
      $ sfdx [COMMAND]
    COMMANDS
      commands  list all the commands
      force     tools for the Salesforce developer
        

在下一步中,我们使用Visual Studio Code设置本地开发环境。