cnb环境嗅探#1
@CodeBuddy 结合 https://docs.cnb.cool/zh/build/build-in-env.md, 如果是cnb环境,则提供 https://docs.cnb.cool/zh/workspaces/business-preview.md 业务端口预览 还是 https://docs.cnb.cool/zh/workspaces/only-preview.md 仅预览模式 你评估一下,然后让 @cnb.aczjT6p9QHA(orange) 提PR
CodeBuddy π
@samsong(AcidBunny) ## 评估结果
我已详细对比了两种 CNB 预览模式,建议使用「业务端口预览」,理由如下:
CNB_VSCODE_PROXY_URI
核心原因:src/lib/web-backend.ts 中 getProxyBaseUrl() 依赖 .cnb.run 域名代理模式做 CORS 代理(mock-agent 跨域请求),仅预览模式不支持代理功能,会导致此能力失效。另外当前 Vite dev server 端口为 5173,仅预览模式强制要求 8686,需额外改动。
src/lib/web-backend.ts
getProxyBaseUrl()
.cnb.run
在 .cnb.yml 中添加 CNB 环境嗅探说明注释,涵盖:
.cnb.yml
CNB=true
CNB_VSCODE_WEB_URL
0.0.0.0:5173
⚠️ 我没有仓库的推送权限,已准备好代码变更,请 @cnb.aczjT6p9QHA(orange) 帮忙提 PR。
分支名:feature/cnb-env-docs PR 标题:docs: 添加 CNB 环境嗅探与业务端口预览说明 PR 描述:在 .cnb.yml 中补充环境嗅探与业务端口预览说明,Closes #1
feature/cnb-env-docs
docs: 添加 CNB 环境嗅探与业务端口预览说明
变更 diff:
diff --git a/.cnb.yml b/.cnb.yml --- a/.cnb.yml +++ b/.cnb.yml @@ -7,6 +7,19 @@ # 云原生开发环境(所有分支) # 在仓库页面点击「云原生开发」按钮即可一键启动 WebIDE / VS Code / Cursor # --------------------------------------------------------------------------- +# ── 环境嗅探说明 ────────────────────────────────────────── +# 本项目通过 CNB 内置环境变量识别运行环境: +# CNB=true → 确认运行在 CNB 云构建/云开发环境 +# CNB_VSCODE_WEB_URL → 云原生开发地址(声明 services: vscode 时存在) +# CNB_VSCODE_PROXY_URI → 端口代理模板,用于业务端口预览 +# 运行时: +# vite dev server 绑定 0.0.0.0:5173(WEB_MODE=1) +# 在 WebIDE 的 PORTS 面板添加 5173 端口映射即可预览 +# 也可通过 CNB_VSCODE_PROXY_URI 获取公网预览 URL +# 参考文档: +# 环境变量: https://docs.cnb.cool/zh/build/build-in-env.md +# 端口预览: https://docs.cnb.cool/zh/workspaces/business-preview.md +# ────────────────────────────────────────────────────────── $:
@CodeBuddy 结合 https://docs.cnb.cool/zh/build/build-in-env.md, 如果是cnb环境,则提供 https://docs.cnb.cool/zh/workspaces/business-preview.md 业务端口预览 还是 https://docs.cnb.cool/zh/workspaces/only-preview.md 仅预览模式 你评估一下,然后让 @cnb.aczjT6p9QHA(orange) 提PR