feat: 收口 Rust Web 3000 主链
This commit is contained in:
@@ -412,14 +412,12 @@ async function main() {
|
||||
// 说明:3000 主链需要直接挂载正式 Leptos island,因此在 Next dev 启动前先生成 lib.rs 的 wasm-bindgen 产物。
|
||||
await buildLeptosTiptapIsland();
|
||||
|
||||
const app = next({ dev, dir: path.join(__dirname, "..") });
|
||||
const handle = app.getRequestHandler();
|
||||
|
||||
await app.prepare();
|
||||
// 说明:Next dev 的 HMR 依赖 WebSocket(/_next/webpack-hmr),需要交给 Next 自己处理 upgrade。
|
||||
const handleUpgrade = typeof app.getUpgradeHandler === "function" ? app.getUpgradeHandler() : null;
|
||||
|
||||
const server = http.createServer((req, res) => {
|
||||
const app = next({ dev, dir: path.join(__dirname, ".."), hostname, port });
|
||||
const handle = app.getRequestHandler();
|
||||
|
||||
await app.prepare();
|
||||
|
||||
const server = http.createServer((req, res) => {
|
||||
try {
|
||||
res.setHeader("x-mnote-dev-server", "1");
|
||||
res.setHeader("x-mnote-onlyoffice-ws-proxy", "1");
|
||||
@@ -472,16 +470,9 @@ async function main() {
|
||||
proxyOnlyOfficeUpgrade(req, socket, head);
|
||||
return;
|
||||
}
|
||||
if (handleUpgrade) {
|
||||
handleUpgrade(req, socket, head);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
socket.destroy();
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
});
|
||||
// 说明:Next custom server 会在首个 HTTP 请求时自动给同一个 http.Server 绑定 HMR upgrade listener。
|
||||
// 非 Convex / ONLYOFFICE 的 Upgrade 交给 Next 自己的 listener,避免同一 socket 被处理两次。
|
||||
});
|
||||
|
||||
server.listen(port, hostname, () => {
|
||||
resolveOnlyOfficeInternalUrl()
|
||||
|
||||
Reference in New Issue
Block a user