快速上手:Lightning Web Components

Lightning Web Components 是 Salesforce 构建组件的现代编程模型。本项目从零搭建环境:安装 Salesforce CLI 与 VS Code 配置 Salesforce DX,创建 Trailhead Playground,搭建 DX 项目并授权组织,用三个文件写出 Hello World 组件,最后部署到 Lightning Experience 首页。...

📅 2026/10/8 ✍️ ponybai 🏷️ salesforce, headless

设置 Salesforce DX 环境(01 Set Up Your Salesforce DX Environment)

slide_2
slide_3

本单元是动手编码前的地基:了解 Lightning Web Components 是什么、为什么需要 Salesforce DX,然后创建全新的 Trailhead Playground、重置登录凭据,并安装 Salesforce CLI。

学习目标 — 完成本项目后,你将能够:

  • 安装 Salesforce CLI
  • 安装 Visual Studio Code 及 Salesforce DX 扩展
  • 创建并部署一个 Lightning web component

简介(一):什么是 Lightning Web Components?(Introduction (1): What Is Lightning Web Components?)

slide_4

Lightning Web Components(LWC) 是一种构建 Lightning 组件的新编程模型:

  • 建立在现代 Web 标准的突破之上
  • 能与现有的 Aura 编程模型共存并互操作
  • 提供前所未有的性能

要创建和开发 Lightning Web Components 并发挥其强大功能和性能优势,你需要设置 Salesforce DX。本 Quick Start 还会用到 Visual Studio Code——Salesforce 平台上推荐的代码编辑器。等环境就绪后,你将编写一个简单的组件,并把它加到 Lightning Experience 的一个页面上。

简介(二):什么是 Salesforce DX?(Introduction (2): What Is Salesforce DX?)

slide_5

Salesforce Developer Experience(DX) 是一套能简化整个开发生命周期的工具集:

  • 改进团队开发与协作
  • 便于自动化测试与持续集成(CI)
  • 让发布周期更高效、更敏捷

在本项目中,你要设置的 DX 组件包括:Salesforce CLI(让你从命令行驱动组织和源代码)和 Visual Studio Code + Salesforce 扩展(为你提供编写组件的强大编辑器)。

设置 Trailhead Playground(Set Up Your Trailhead Playground)

slide_6

在写任何代码之前,你需要一个可以构建的目标组织。接下来两步:创建一个全新的 Trailhead Playground,然后获取用户名并重置密码。两者都需要——因为项目后面要用 Salesforce CLI 对这个 playground 做身份验证,CLI 需要你的凭据才能把源代码和组件推入组织。

创建新的 Trailhead Playground(Create a New Trailhead Playground)

slide_7

创建全新的 Trailhead Playground:

  1. 滚动到页面底部
  2. 点击 playground 名称
  3. 点击 Create Playground

通常需要 3–4 分钟。为什么必须是全新的?Salesforce 真的是指"全新"——如果你复用现有的组织或 playground,完成项目挑战时可能会遇到问题。一个干净的组织,值得这点短暂的等待。

获取 Playground 用户名与密码(一):打开组织(Get Username and Password (1): Open Your Org)

slide_8

接下来获取 playground 凭据。打开你的 Trailhead Playground——如果看到 Get Your Login Credentials 选项卡,直接跳到重置密码;如果没有,从 App Launcher 找到并打开 Playground Starter 并按其步骤操作;如果 Playground Starter 也不出现,Salesforce Help 里有关于如何查找 Trailhead Playground 用户名与密码的文章。

获取 Playground 用户名与密码(二):重置密码(Get Username and Password (2): Reset the Password)

slide_9

重置密码的步骤:

  1. 点击 Get Your Login Credentials 选项卡,记下你的用户名。
  2. 点击 Reset My Password——系统会向与用户名关联的地址发送邮件。
  3. 点击邮件中的链接。
  4. 输入新密码、确认,点击 Change Password。

把用户名和新密码放在手边——稍后用它们向 Salesforce CLI 授权你的 playground。

安装命令行界面(一):CLI 的作用(Install the CLI (1): What the CLI Does)

slide_10

Salesforce CLI 控制着你 Salesforce 应用的完整应用生命周期:

  • 创建用于开发和测试的环境
  • 在你的组织与版本控制系统(VCS)之间同步源代码
  • 执行测试

完整的安装说明见 Salesforce CLI Setup Guide(开发者文档),下面带你走核心步骤。

安装命令行界面(二):安装与验证(Install the CLI (2): Install and Verify)

slide_11

安装:

  1. 从 Salesforce CLI 页面(Salesforce tools 站点)下载 CLI。
  2. 为你的操作系统安装它。

验证:

  1. 在命令行运行:sf update
  2. 预期输出类似 Updating CLI....——说明 CLI 已安装且为最新版本。

完成后,下一步用 Visual Studio Code 设置本地开发环境。

设置 Visual Studio Code(02 Set Up Visual Studio Code)

slide_12

本单元安装 Visual Studio Code(Salesforce 开发者的首选编辑器),添加 Salesforce Extension Pack 让编辑器理解你的代码,并在构建第一个组件之前测试一切是否就绪。

安装 Salesforce 扩展(一):安装 VS Code 与扩展包(Install Salesforce Extensions (1): Install VS Code & the Extension Pack)

slide_13

Visual Studio Code 是 Salesforce 开发者的首选代码编辑器:免费、开源,支持 Windows、Linux 和 macOS,还有易于安装的扩展来提供语法高亮、代码补全等功能。

安装:

  1. 为你的操作系统下载并安装最新版 Visual Studio Code(如果已安装则无需重装)。
  2. 启动 Visual Studio Code。
  3. 点击左侧工具栏的 Extensions 图标。
  4. 搜索 Salesforce Extension Pack,点击 Install。

这个扩展包把 Salesforce 的全部工具链打包进了编辑器。

安装 Salesforce 扩展(二):JDK 与扩展包(Install Salesforce Extensions (2): JDK & the Expanded Pack)

slide_14

有两件事值得注意:

Java(JDK)用于 Apex 支持:

  • Salesforce Extensions 的部分功能(尤其是 Apex 支持)依赖 Java SE Development Kit(JDK)。
  • 需要 JDK 21(推荐)、17 或 11。
  • 如果装了其他版本的 Java,需要再装 JDK 21、17 或 11。
  • 配置方式见 Salesforce Extensions: Java Setup。

扩展包:

  • 还有一个 Salesforce Extension Pack (Expanded) 版本,包含 Salesforce 开发者常用的第三方扩展。
  • 两个扩展包只需装一个。

确保开发环境就绪(一):测试扩展(Ensure Ready (1): Test Your Extensions)

slide_15

装好 Visual Studio Code 并启用扩展后,需要确认它们真的能用:

  1. 在 VS Code 中,按 Ctrl+Shift+P(Windows)或 Cmd+Shift+P(macOS)打开命令面板(Command Palette)。
  2. 输入 sfdx——面板会过滤出 Salesforce Extensions 提供的命令。

看到 SFDX 命令了吗?说明扩展已激活并正常工作。

确保开发环境就绪(二):继续构建(Ensure Ready (2): Build On)

slide_16

一个实用小贴士:随着你使用 SFDX 命令,它们会汇集到命令面板的 recently used(最近使用)面板里,让你最常用的操作始终只需一次按键。

确认扩展正常工作后,开发环境就完全就绪了。在最后一步,你将创建第一个 Lightning web component,并把它加到组织的首页。Salesforce 不会检查这些设置,准备好后点击 Verify Step 继续即可。

创建 Hello World Lightning Web Component(03 Create a Hello World Lightning Web Component)

slide_17

最后的单元——真正构建点东西。你将搭建 Salesforce DX 项目、授权 Trailhead Playground 让 CLI 能推代码进去、创建 Hello World Lightning web component、部署它,最后加到 Lightning Experience 的页面上看它实时运行。

创建 Salesforce DX 项目(一):搭建项目(Create a Salesforce DX Project (1): Scaffold the Project)

slide_18

环境就绪后,就可以创建组件了——每个组件都位于一个 Salesforce DX 项目内。在 Visual Studio Code 中,打开命令面板,输入 SFDX 查看扩展命令,选择 SFDX: Create Project,按 Enter 接受标准选项,把项目命名为 HelloWorldLightningWebComponent,再选择一个存放项目的文件夹。这样就得到了构建所用的标准 DX 项目结构。

创建 Salesforce DX 项目(二):创建并确认(Create a Salesforce DX Project (2): Create & Confirm)

slide_19

点击 Create Project,Visual Studio Code 会为你生成标准的 Salesforce DX 项目结构——包括 force-app、manifest 等文件夹和项目配置文件。如果出现"是否信任此文件夹中文件的作者"的权限提示,选择 Yes,让编辑器能处理这些生成的文件。这就是你接下来写组件所用的项目脚手架。

授权 Trailhead Playground(一):运行授权(Authorize (1): Run Authorize)

slide_20

要把代码推入 playground,CLI 需要先获得授权。在 Visual Studio Code 中打开命令面板,输入 SFDX,选择 SFDX: Authorize an Org。按 Enter 接受 Project Default 登录 URL 选项,再按 Enter 接受默认别名——这会打开 Salesforce 登录页到一个独立的浏览器窗口。

授权 Trailhead Playground(二):登录并确认(Authorize (2): Log In & Confirm)

slide_21

用 Trailhead Playground 凭据登录,完成授权。如果浏览器弹出 Allow Access 对话框,点击 Allow。认证完成后,Salesforce CLI 会记住你的凭据,成功消息会确认你的 playground 已连接到项目。此后,每条 SFDX 部署命令都知道该把代码推往哪个组织。

创建 Lightning Web Component(一):搭建组件(Create a LWC (1): Scaffold the Component)

slide_22

现在创建组件本身:

  1. 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)。
  2. 输入 SFDX。
  3. 选择 SFDX: Create Lightning Web Component。
  4. 命名为 helloWorld。
  5. 按 Enter 接受默认位置 force-app/main/default/lwc——这是 Lightning web components 在项目中的存放位置。
  6. Visual Studio Code 创建组件的起始文件。

创建 Lightning Web Component(二):认识三个文件(Create a LWC (2): Meet the Three Files)

slide_23

一个 Lightning web component 其实是一组协同工作的文件:

  • helloWorld.html——标记(markup),一个定义组件用户界面的模板
  • helloWorld.js——JavaScript 类,存放组件的数据与行为
  • helloWorld.js-meta.xml——元数据,声明组件的配置以及它可以被放到哪些页面上

接下来你要分别编辑这三个文件并保存。

创建 Lightning Web Component(三):helloWorld.html(Create a LWC (3): helloWorld.html)

slide_24

打开 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>

保存文件。这里 lightning-card 基础组件提供一个带标题的卡片;{greeting} 用花括号渲染 greeting 属性的当前值;下面的 lightning-input 绑定同一个 greeting 值,其 onchange 指向 changeHandler 方法,所以每当你输入文字,屏幕上的问候语都会实时更新。

创建 Lightning Web Component(四):helloWorld.js(Create a LWC (4): helloWorld.js)

slide_25

打开 helloWorld.js,把内容替换为:

import { LightningElement } from 'lwc';
export default class HelloWorld extends LightningElement {
        greeting = 'World';
        changeHandler(event) {
        this.greeting = event.target.value;
        }
}

保存文件。组件从 lwc 模块导入 LightningElement,并导出一个继承它的 HelloWorld 类。属性 greeting 初始化为字符串 'World';changeHandler 是输入框 onchange 事件调用的方法,它读取 event.target.value(用户输入的内容)并赋给 this.greeting。由于模板绑定了 {greeting},段落会自动更新。

创建 Lightning Web Component(五):helloWorld.js-meta.xml(Create a LWC (5): helloWorld.js-meta.xml)

slide_26

打开 helloWorld.js-meta.xml,把内容替换为:

<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="helloWorld">
    <apiVersion>63.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
    <target>lightning__AppPage</target>
    <target>lightning__RecordPage</target>
    <target>lightning__HomePage</target>
    </targets>
</LightningComponentBundle>

保存文件。元数据文件控制组件如何被暴露:isExposed 设为 true 让组件出现在 Lightning App Builder 的组件列表里;targets 声明它允许被放到的位置——lightning__AppPage(应用页)、lightning__RecordPage(记录页)和 lightning__HomePage(首页)。有了这些,你就能把 helloWorld 拖到页面上了。

部署到 Trailhead Playground(Deploy to Your Trailhead Playground)

slide_27

代码写好后,就是部署时间了:

  1. 在 Explorer 中,右键点击 force-app/main 下的 default 文件夹。
  2. 选择 SFDX: Deploy This Source to Org。
  3. 在集成终端的 Output 选项卡查看部署结果。

如果命令成功,一条 Deployed Source 消息会列出上传到组织的三个文件——HTML、JavaScript 和 XML 元数据。你的 Hello World 组件现在已存在于 Trailhead Playground 中,可以放到页面上了。

将组件添加到 Lightning Experience 页面(一):准备页面(Add Component (1): Prep the Page)

slide_28

准备放置组件:

  1. 命令面板 → SFDX: Open Default Org(在浏览器中打开 playground)。
  2. 点击齿轮,选择 Setup。
  3. Quick Find 输入 Home,在 Feature Settings 区域选择 Home。
  4. 把 Advanced Seller Home 切换到 Inactive。
  5. Quick Find 输入 Session,选择 Session Settings。
  6. 取消勾选 Enable secure and persistent browser caching to improve performance。
  7. 点击 Save。

这些调整让你能更快地看到页面变化。

将组件添加到 Lightning Experience 页面(二):放到首页(Add Component (2): Drop It on the Home Page)

slide_29

放置组件:

  1. 从 App Launcher 找到并打开 Sales。
  2. 点击齿轮 → Edit Page(打开 Lightning App Builder)。
  3. 从 Lightning Components 列表的 Custom 区域,把 helloWorld 组件拖到 Page Canvas 顶部。
  4. 点击 Save → Activate → Assign as Org Default → Save。
  5. 再次点击 Save,返回页面。
  6. 刷新页面查看新组件。

就是它——你的 HelloWorld 组件,实时出现在首页上。你已经正式做出了第一个 Lightning web component!

接下来?(一):你做出了第一个 LWC(What's Next? (1): You Made Your First LWC)

slide_30

你已经正式做出了第一个 Lightning web component!但这只是个开始。继续实验——给你的 helloWorld 组件添加更多功能,看看 Salesforce 提供的其他示例组件,开始构建你自己的组件。每一次新的尝试,都是迈向 LWC 熟练的又一步。

接下来?(二):参考资源(What's Next? (2): Reference Resources)

slide_31

继续构建时,有两个资源会帮到你:

  • 代码示例与 SDK——在 Salesforce Developer 站点(developer.salesforce.com)上,提供可用的示例和库。
  • Component Reference——Lightning Component Library 中每个基础组件的文档,说明它做什么、如何配置。

两者结合起来,能帮你在从 Hello World 走向真实功能的过程中,准确理解如何编写 Lightning web components。


文章来源:Trailhead - Quick Start: Lightning Web Components