Velo 后端 Web 模块(.web.js)实战:前后端解耦与外部 API 安全调用
对标 Wix 官方支持中心(support.wix.com/en)Velo 进阶开发规范。拆解 Velo 后端 Web 模块架构、wix-secrets 密钥管理、wix-fetch 代理跨域与前后端解耦实战与官方 Support 参考。

很多初级开发者在 Wix 中对接外部 CRM、AI 接口或短信平台时,会直接在前端页面代码(Page Code)中硬编码 API 密钥——这在浏览器“开发者工具 Network”中如同裸奔。
Wix 官方标准的生产级解法是采用 Velo Web Modules(.web.js 模块):代码运行在隔离的 Node.js 云端沙箱中,配合 wix-secrets-backend 加密存储凭证,前端只需像调用本地函数一样通过 Promise 异步调用,彻底杜绝数据泄露与 CORS 跨域痛点。
1. 为什么关键业务逻辑必须移至后端?
前端浏览器环境永远是不可信的执行上下文。必须移入后端的场景包括:
Stripe Secret Key、HubSpot API Token、阿里云短信密钥严禁出现在客户端 bundle 源码中。
很多企业内部 ERP 或自建服务未开启跨域响应头,从浏览器直接 fetch 会被同源策略阻断,而后端发起请求无此限制。
商品打折计算、满减优惠券抵扣逻辑必须在服务端校验,绝不能轻信客户端上传的算后价格。
2. 什么是 Velo Web 模块(.web.js)?
在 Wix Studio 底部代码面板的 Backend(后端代码目录) 中,您可以新建以 .web.js 结尾的文件。
Velo 会自动为该文件中的导出函数(Exported Functions)生成专属的 RPC 远程调用桥梁。前端页面代码无需手写任何复杂的 REST 端点或 Fetch 请求,只要直接 import 即可使用:
3. 使用 Secrets Manager 守护敏感 API Key
在 Studio 仪表盘的「开发者工具 -> Secrets Manager(机密管理器)」中,您可以将外部服务的 Token 以 Key-Value 键值对加密保存(例如 HUBSPOT_API_KEY)。
在后端代码中,通过官方内置的 wix-secrets-backend 模块按需异步读取:
4. 实战代码:后端安全代理调用外部 REST API
以下是一个经过生产验证的完整后端 Web 模块示例(backend/crmIntegration.web.js):
5. 实战避坑指南:CORS 跨域与权限泄露排查
最新版 Velo 强制要求使用 webMethod(Permissions.xxx, async () => {}) 明确声明调用权限。若涉及内部财务、批量导出的接口错误赋予了 Permissions.Anyone,会导致安全审计不达标。
调用第三方 CRM 返回的原始数据往往包含员工私密邮箱或内部 ID。在 return 给前端前,务必做一次数据过滤(Pick/Omit),仅返回前台展示必需的字段。
6. Wix 官方 Support 权威参考文档
关于服务端 Web 模块与第三方接口集成的官方规范:
官方关于在 .web.js 中编写 Node.js 服务端函数并无缝暴露给前端的完整规范。
如何使用 Secrets Manager 安全加密存储第三方 API 密钥与 Access Token。
如何在服务端使用 wix-fetch 绕过浏览器同源策略限制,安全对接外部 CRM 与支付网关。
7. 高频常见问题解答 (FAQ)
有的。Velo 服务端函数的 HTTP 请求超时上限默认为 14 秒。如果对接的外部大模型或数据导出任务耗时超过 14 秒,建议使用 Webhook 异步回调或任务队列机制。
.web.js 是专门暴露给前端直接异步调用的 Web 模块;而普通 .js 后端文件(如 data.js 或自定义工具库)只能被其他后端文件引用,绝对无法从前端页面代码直接访问,安全性更高。
自己摸索耗费时间?交给我们,5-10 天极速交付
无论是高质感外贸品牌官网、全响应式流体企业独立站,还是 Velo 动态数据系统对接。我们提供从原型设计、流体开发、海外支付配置到上线运维的一站式全案落地服务。