WebSocket
Analog 还通过 Nitro 支持 WebSockets 和 Server-Sent Events。
启用 WebSockets
目前,Nitro 中的 WebSocket 支持是实验性的,可以在 analog 插件中启用:
vite.config.ts
import { defineConfig } from 'vite';
import analog from '@analogjs/platform';
export default defineConfig({
// ...
plugins: [
analog({
// ...
nitro: {
experimental: {
websocket: true,
},
},
}),
],
// ...
});
注意: 在开发过程中,Vite HMR WebSocket 服务器默认运行在与开发服务器相同的端口上。为了防止冲突,需要更改此端口。开发服务器端口通常在 project.json/angular.json 中定义,优先于 vite.config.ts。为了使 vite.config.ts 中的端口设置生效,请从 project.json/angular.json 中删除端口定义。此外,可以指定一个可选路径,以便在浏览器开发工具中轻松区分连接:
vite.config.ts
import { defineConfig } from 'vite';
import analog from '@analogjs/platform';
export default defineConfig({
// ...
server: {
port: 3000, // 开发服务器端口
hmr: {
port: 3002, // hmr ws 端口
path: 'vite-hmr', // 可选
},
},
// ...
});