Salesforce Summer '25 新特性:TypeScript 支持和本地开发预览

Salesforce Summer '25 新特性:TypeScript 支持和本地开发预览

Salesforce Summer '25 版本带来了两个重要的开发者功能预览:LWC 对 TypeScript 的支持和本地开发实时预览功能的增强。

一、LWC TypeScript 支持(开发者预览)

核心优势

  • 静态类型检查提高代码质量
  • 更好的代码提示和自动补全
  • 提升大型项目的可维护性

重要说明

  • 当前处于开发者预览阶段,无法用于生产环境
  • TypeScript 代码只能在本地运行,无法直接部署到 Salesforce
  • 必须使用 Git 等版本控制工具管理源代码

配置步骤

  1. .vscode/settings.json 中启用支持:
JSON 复制代码
{
  "salesforcedx-vscode-lwc.preview.typeScriptSupport": true
}
  1. 配置 tsconfig.json
JSON 复制代码
{
  "compilerOptions": {
    "experimentalDecorators": false,
    "paths": {
      "c/yourComponent": ["/yourComponent/yourComponent.ts"]
    }
  }
}

3. 安装必要依赖:

BASH 复制代码
npm install typescript --save-dev
npm install --save-dev @salesforce/lightning-types
  1. 创建 types/salesforce.d.ts 文件:
TYPESCRIPT 复制代码
import "@salesforce/lightning-types";

5. 将 .js 文件重命名为 .ts,然后编译:

BASH 复制代码
npx tsc --project force-app\main\default\lwc      

注意事项

LWC 装饰器(@api, @track 等)目前会引发 TypeScript 错误,需要在每行前添加:

TYPESCRIPT 复制代码
// @ts-ignore
@api propertyName;

二、本地开发实时预览增强

支持场景

  • Lightning Experience 应用(正式版,Spring '25+)
  • Experience Cloud LWR 站点(公测版)
  • 单组件预览(测试版,Summer '25)

使用方法

  1. 安装必要工具:
BASH 复制代码
npm install @salesforce/cli -g
sf plugins install @salesforce/plugin-lightning-dev@latest
  1. 启动本地预览:
BASH 复制代码
sf lightning dev app

支持的测试环境

  • 支持 iOS 模拟器和 Android 模拟器
  • 需要预先安装 Xcode 或 Android Studio

限制条件

  • 仅支持 LWC,不支持 Aura 组件
  • 不支持预览着陆页
  • 单组件预览功能有限

三、HTML Class 绑定语法改进(LWC API v62.0)

从 v62.0 开始,class 绑定的行为有重要变更:

数组绑定

JAVASCRIPT 复制代码
// 输入: ["note", "highlight"]
// v62.0 输出: class="note highlight"
// v61.0 输出: class="note,highlight"

对象绑定

JAVASCRIPT 复制代码
// 输入: {block: true, hidden: false}
// v62.0 输出: class="block"
// v61.0 输出: class="[object Object]"

非字符串值处理

JAVASCRIPT 复制代码
// 输入: false, 10, () => {}
// v62.0 输出: class="" (被忽略)
// v61.0 输出: class="false", class="10" 等

实际示例

html 复制代码
<template>
  <div class={computedClassNames}>Content here</div>
</template>
JAVASCRIPT 复制代码
export default class MyComponent extends LightningElement {
  position = "left";
  fullWidth = true;
  hidden = false;
  
  get computedClassNames() {
    return [
      "div__block",
      this.position && `div_${this.position}`,
      {
        "div_full-width": this.fullWidth,
        hidden: this.hidden
      }
    ];
  }
}
// 输出: <div class="div__block div_left div_full-width">...</div>

总结

这些新功能虽然还在预览阶段,但展示了 Salesforce 在开发者体验方面的持续改进。建议开发者可以开始尝试这些功能,为未来的正式版本做好准备。

相关推荐
发现一只大呆瓜5 小时前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
千寻girling6 小时前
Koa.js 教程 | 一份不可多得的 Node.js 的 Web 框架 Koa.js 教程
前端·后端·面试
程序员清风6 小时前
北京回长沙了,简单谈谈感受!
java·后端·面试
网络安全-杰克7 小时前
2026面试自动化测试面试题【含答案】
自动化测试·软件测试·面试·职场和发展
千寻girling10 小时前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试
xiaoxue..11 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
猿小羽13 小时前
AIGC 应用工程师(3-5 年)面试题精讲:从基础到实战的系统备战清单
面试·大模型·aigc·agent·rag
boooooooom14 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试
试着14 小时前
【huawei】机考整理
学习·华为·面试·机试
石去皿14 小时前
【嵌入式就业6】计算机组成原理与操作系统核心机制:夯实底层基础
c++·面试·嵌入式