Velo 简介
了解 Velo,它的功能,以及它如何提供对 JavaScript 的内置支持。
什么是 Velo?
Velo 是一个全栈开发平台,可帮助你快速构建、管理和部署专业的网络应用。它是一个开放的开发平台,能够加速你的网页应用开发流程。
你可以在 Wix 的可视化编辑器中工作,使用 Velo 的 API 添加自定义功能和交互效果,结合自己的开发工具,并在前端和后端实现无服务器编程,所有这些都在一个开放且可扩展的平台上完成。
Velo 的特性
Velo 集成了你将创意转化为专业网络应用所需的所有工具,能在短时间内高效完成。你可以使用拖拽式编辑器创建界面,然后通过内置 IDE 中的标准 JavaScript 和 Velo API 添加自定义功能。它还能让你快速构建动态网站,并协作处理各类内容。此外,所有操作都已自动保障安全并持续维护。

以下 Velo 特性让网页应用开发更加轻松:
编码
为 Wix 网站添加自定义 JavaScript 代码,并利用 Velo 的 API 实现个性化功能与交互。
Velo 还提供基于 Node.js 的完整后端运行时系统。你可以使用 ES2019 模块和 Velo 的 Web 模块,将后端函数导出到客户端。Velo 会为你自动托管所有文件。
你可以处理 Wix 多个应用及其组件触发的前端和后端事件。还可以管理网站联系人、优化 SEO、调用与访客浏览器交互的 API,并设置定时任务以按指定时间间隔执行代码。
数据库
启用 Velo 后,你的网站将自动接入 Wix Data。这使你能够使用 Velo 内置数据库。Wix 应用是强大的服务,具备诸多增强网站功能、助力业务增长的特性。当你向网站添加 Wix 应用时,其数据也会自动作为新集合出现在你的网站中。
一旦数据库功能启用,你就可以使用 Wix 的可视化编辑器将数据连接到页面元素,捕获用户输入,并创建动态页面。你还可以通过 Velo 的自定义路由功能定义自己的动态页面。
Velo 还支持通过外部数据库 SPI 连接任意外部数据库。之后,你可以在网站中像使用内置集合一样操作该数据库。
无服务器、安全且免维护
所有开发工作均托管在 Wix 的云服务上。这意味着你无需担心服务器的初始配置或长期维护。Wix 会根据需要自动扩展网站资源,同时提供严密的安全保障。
开放平台
Velo 允许你将网站功能扩展至其他服务。你可以安装 NPM 包,使用 fetch 调用外部 API,也可以通过 http 函数将网站功能暴露为 API。
你还可以集成第三方 API,如 SendGrid、Twilio 或 Stripe,实现自动发送短信、支付处理等功能。使用 Velo 的 Fetch API 或从 npm 安装包,即可轻松添加所需功能。
内置 IDE
Velo 为你的 Wix 网站添加了内置 IDE,让你可以直接在 Wix 编辑器中编写代码。
该 IDE 具备以下功能:
- 压缩 CSS
- 压缩 JavaScript
- 打包 JavaScript 文件
- 将现代 JavaScript 代码转译为 ES5,确保在旧版浏览器中正常运行
- 支持数据库管理
发布候选版本
在开发过程中,你可能希望对部分访问者测试网站的某个版本。你可以通过创建发布候选版本来实现。随后,使用 Velo 的站点监控工具实时追踪其运行情况,确认稳定后再向更多用户开放。
站点监控
Velo 的站点监控功能可收集 Wix 站点事件信息,例如控制台日志、HTTP 函数和 Web 模块函数。你可以实时查看现场事件,轻松将站点事件集成到 Google Operations,并连接外部监控工具以生成事件指标并进行错误日志分析。
密钥管理器
Velo 的密钥管理器可安全存储 API 密钥等敏感信息。每个密钥的值都会在站点仪表板的密钥管理器中加密存储,仅限你本人访问。
你为每个密钥命名,之后可在网站代码中通过名称引用。

本地开发(Alpha 版)
使用网站的本地副本意味着你可以在自己偏好的 IDE 中编辑网站代码。你还可以与其他开发者同步开发,并使用自己的版本控制系统协调团队协作。有关本地开发的更多信息,请参见 此处。
JavaScript 支持
Velo 支持 JavaScript 及一些特殊功能,包括:
- 对 JavaScript 特性的支持
- 对模块的支持
- 对 JavaScript Fetch API 的支持
- 通过 Web 模块在前后端之间自然共享 JavaScript 代码
模块支持(ECMAScript 2019)
Velo 支持 JavaScript ES2019 版本中包含的原生模块功能。
要使用 ES2019 模块功能,需遵循 ES2019 模块语法。只有模块中明确导出的项才会对外暴露,其余内容仅在模块内部有效。
例如:
1// 文件名 - public/amodule.js 2export function aFunction() { 3 // 仅此函数对其他文件可见 4 return doSomething() + " or other"; 5} 6function doSomething() { 7 // 此函数仅属于 amodule.js 模块内部 8 return "Do something"; 9}
要引用模块中的某项,需先 import:
1import {aFunction} from 'public/amodule.js';
然后即可使用:
1console.log(aFunction()); 2// 输出: "Do something or other"
你也可以将某项导出为 default:
1// 文件名 - public/amodule.js 2export default function aFunction() { 3 return "Do Something"; 4}
导入默认项时,使用 import 但不加花括号 {}。导入时可为默认函数赋予任意名称。在此例中,doSome 被赋值给 aFunction,因为 aFunction 是 amodule.js 中的默认导出项。
1import doSome from 'public/amodule.js';
当你导入模块中的某项时,整个模块文件会被执行。这意味着如果模块中存在非函数或变量声明的代码,它将在首次导入模块函数时执行一次。例如,若模块中有如下代码:
1// 文件名 - public/lib.js 2export function aFunction() { 3}; 4export function bFunction() { 5}; 6console.log("Hi");
当你从 lib.js 导入 aFunction 时,控制台也会输出 "Hi"。无论后续多少次导入 .js 文件中的函数,"Hi" 仅会输出一次。因此,若再导入 bFunction,"Hi" 不会再次输出。
导出对象
你也可以从模块中导出对象。例如:
1// 文件名 - public/amodule.js 2export let myObject = { 3 prop1: "Here", 4 prop2: "There" 5}
之后可以导入并访问其属性:
1import {myObject} from 'public/amodule.js'; 2console.log(myObject.prop1) 3// 输出: "Here"
模块作用域
以下是关于如何在后端与公共作用域之间及内部共享模块和函数的指南:
- 后端的 JavaScript 文件或脚本可导入后端或公共目录中的任何模块。
- 公共目录中的文件可导入公共目录中的任何模块。
- 可通过 Web 模块从后端导入函数并在公共区域使用。
- 可使用相对路径(以 "." 开头)引用文件。
- 可使用
backend/前缀导入后端模块。 - 可使用
public/前缀导入公共模块。 - 模块之间可以相互导入。
Wix Fetch
Wix Fetch 是标准 JavaScript Fetch API 的实现方式,使用方法相同,遵循标准 Fetch 语法。你可以在 GitHub 上的 Fetch 示例 或 标准 Fetch 规范 中查看具体用法。
当需要发起 http/s 请求时,应使用 Fetch。你可以在前后端代码中使用 Fetch。要在 JavaScript 代码中使用 Fetch,需在文件开头添加 import {fetch} from 'wix-fetch'。
Fetch 的一个优势是使用 Promise 处理异步请求,使得结果和错误的处理更加简便。
Wix 的 Velo 为你的应用定制提供了无限可能。为了充分发挥 Velo 的潜力,建议全面了解其各项功能,然后根据需求灵活组合使用不同功能。
如何在你的网站上启用 Velo
点击网站顶部栏的 开发模式,并在下拉菜单中启用 Velo。