Skip to content

Commit af99e3e

Browse files
committed
docs
1 parent 678d593 commit af99e3e

File tree

1 file changed

+33
-1
lines changed
  • website/docs/zh/community/releases

1 file changed

+33
-1
lines changed

website/docs/zh/community/releases/v2-0.mdx

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ _April 22, 2026_
2929
- 更轻量:
3030
- [依赖数量从 14 个减少到 5 个](#精简依赖)
3131
- 新特性:
32+
- [支持开发服务器与客户端通信](#通信-api)
3233
- [支持自定义 logger](#支持自定义-logger)
3334

3435
## Pure ESM 包
@@ -96,7 +97,7 @@ export default {
9697

9798
## 默认 host 变化
9899

99-
[server.host](/config/server/host) 的默认值从 `'0.0.0.0'` 调整为 `'localhost'`这意味着开发和预览服务器默认仅监听本机,不再对局域网内的其他设备开放。
100+
[server.host](/config/server/host) 的默认值从 `'0.0.0.0'` 调整为 `'localhost'`开发和预览服务器默认仅监听本机,不再对局域网内的其他设备开放。
100101

101102
这一调整遵循「默认安全」的原则。在大多数本地开发场景中,开发服务器无需对外暴露。仅监听本机地址可以减少意外暴露,降低在共享网络环境中被扫描或攻击的风险。
102103

@@ -138,6 +139,37 @@ Rsbuild 2.0 对默认依赖进行了精简,将仅在特定场景下使用的
138139
- 不再默认安装 `@module-federation/runtime-tools`,在使用 [moduleFederation.options](/config/module-federation/options) 时需要手动安装,Module Federation 2.0 不受影响。
139140
- 移除 `webpack-bundle-analyzer` 依赖,推荐使用 [Rsdoctor](/guide/debug/rsdoctor) 进行产物分析,或自行安装和注册 `webpack-bundle-analyzer`
140141

142+
## 通信 API
143+
144+
在支持 React Server Components 的过程中,我们发现,一些场景需要在 dev server 与浏览器之间进行通信。例如,服务端完成某些操作后,需要主动通知客户端执行对应逻辑。
145+
146+
为此,Rsbuild 2.0 提供了一组通信 API:
147+
148+
- 服务端可通过 [hot.send](/api/javascript-api/environment-api#hotsend) 向当前 environment 对应的客户端发送消息
149+
- 客户端可通过 `import.meta.webpackHot.on` 监听这些自定义事件
150+
151+
这些 API 复用了现有的 HMR 通道,无需额外创建 WebSocket 连接。同时,消息仅会发送到匹配的 environment,避免不必要的广播。
152+
153+
例如,当服务端状态发生变化时,通知客户端更新,而不是触发整页刷新:
154+
155+
- 在服务端触发消息:
156+
157+
```ts title="rsbuild.config.ts"
158+
server.environments.web.hot.send('data-change', {
159+
count: 1,
160+
});
161+
```
162+
163+
- 在客户端监听消息:
164+
165+
```ts title="src/dev-sync.ts"
166+
if (import.meta.webpackHot) {
167+
import.meta.webpackHot.on('data-change', ({ count }) => {
168+
console.log('data updated:', count);
169+
});
170+
}
171+
```
172+
141173
## 支持自定义 logger
142174

143175
Rsbuild 2.0 新增了 [customLogger](/config/custom-logger) 选项,用于为当前实例配置 logger。

0 commit comments

Comments
 (0)