2023/09/28 15:26:41
使用 Tree shaking
在 4.19.0 之前的版本中,AgoraRTC
模块是声网 Web SDK 中所有可调用方法的入口。即使你实际上只使用了 SDK 的一部分功能,也需要加载完整的 SDK,这可能会导致 App 中包含大量未使用的代码。
自 4.19.0 起,通过 npm 集成的 Web SDK 支持 Tree shaking(摇树优化)。使用 Tree shaking 具有以下优点:
- 只需要加载你实际使用的 SDK 功能,未引用的代码会在构建过程中被移除。
- 减少 SDK 依赖项与你的 App 依赖项之间的冗余。
为充分利用 Tree shaking 来尽可能减小集成 SDK 后的 App 体积,请参考本文集成 SDK 并使用正确的导入 (import
) 方式。
信息
受限于 SDK 架构设计,目前使用 Tree shaking 的优化效果有限。SDK 会在后续版本中持续改进 Tree shaking 效果。
前提条件
开始之前,请确保你已经安装 Node.js 及 npm。
实现方法
按照以下步骤集成 SDK,即可使用 Tree shaking:
-
运行以下命令,通过 npm 安装最新版的 SDK 包:
Shellnpm install agora-rtc-sdk-ng
-
通过以下方式引用所有使用到的方法、枚举、常量、类型等,注意包名
agora-rtc-sdk-ng
末尾必须添加/esm
,否则 Tree shaking 将不会生效:JavaScript// 正确引用示例
// 引用方法
import { createClient } from "agora-rtc-sdk-ng/esm";
// 引用枚举
import { ConnectionDisconnectedReason } from "agora-rtc-sdk-ng/esm";
// 引用常量
import { VERSION } from "agora-rtc-sdk-ng/esm";
// 引用类型(推荐使用 import type 而不是 import,以提高编译速度)
import type { ICameraVideoTrack } from "agora-rtc-sdk-ng/esm";