client
配置 Rsbuild 在开发过程中注入的 client 代码,可以用于设置热更新对应的 WebSocket URL。
type Client = {
/** 指定 WebSocket 请求的协议名称 */
protocol?: string;
/** 指定 WebSocket 请求的路径 */
path?: string;
/** 指定 WebSocket 请求的端口号 */
port?: string;
/** 指定 WebSocket 请求的 host */
host?: string;
};
const defaultConfig = {
path: '/rsbuild-hmr',
// 默认为开发服务器的端口号
port: '',
// 默认为 "location.hostname"
host: '',
// 默认为 "location.protocol === 'https:' ? 'wss' : 'ws'"
protocol: '',
};
配置 WebSocket URL
默认情况下,当你启动 dev server,并访问 http://localhost:8080/
时,页面上会发起一个 WebSocket 请求,指向 ws://localhost:8080/rsbuild-hmr
,使页面与开发服务器建立连接。
在某些开发场景下,你可能需要调整 WebSocket URL,来保证 WebSocket 请求能够正确连接。
比如当你使用代理工具进行开发时,实际访问的可能是一个线上域名,此时你可以手动配置 dev.client
,将 WebSocket URL 指向本地的开发服务器。下面是一个示例,WebSocket 请求的地址为 ws://127.0.0.1:8080/rsbuild-hmr
:
rsbuild.config.ts
export default {
dev: {
client: {
protocol: 'ws',
// 通常使用 `127.0.0.1`,可以避免跨域请求被浏览器拦截
host: '127.0.0.1',
},
},
};