Skip to main content
Node.js 运行时可以运行 JavaScript 和 TypeScript 编写的机器人、API 和服务端渲染网站。Square Cloud 会根据 package.json 安装你的依赖,并使用 Node.js 启动应用。

开始之前

  • 你的电脑上需要安装 Node.js 和 npm。如果尚未安装,可以从 Node.js 官方网站 下载。
  • 一个 Square Cloud 账户:使用邮箱或 GitHub 注册。
  • 一个有效的计划。查看计划并选择适合你项目的计划。

配置 Square Cloud

如果你通过控制面板上传应用,可以跳过本节:控制面板会自动为你创建 squarecloud.app 配置文件。

配置文件参考

squarecloud.app 文件告诉 Square Cloud 如何运行你的应用:主文件、内存、运行时版本、名称,以及网站所用的子域名。
每种应用的完整配置文件:
squarecloud.app
VERSION=recommended 运行 Node.js 当前的 LTS 版本线,VERSION=latest 则运行最新发布的版本。

Square Cloud 运行什么

  • 如果配置文件中未定义 START 字段,Square Cloud 会运行 node MAIN。当应用的内存为 1024 MB 或以上时,还会添加 --max_old_space_size=<MEMORY>(Node.js 堆内存上限,单位为 MB)。如果定义了 START 字段,则会直接执行其中的值。有关配置文件参数的更多信息,请访问配置参数。
  • 如果应用没有 node_modules 文件夹,Square Cloud 会在启动它之前运行 npm install --no-audit --no-fund。由于运行时设置了 NODE_ENV=production,devDependencies 中的包不会被安装。如果 node_modules 已经存在,则跳过安装步骤。

网站和 API 的端口与主机

Square Cloud 会将 PORT 环境变量设为 80,将 HOST 设为 0.0.0.0。你的服务器必须在该端口和所有网络接口上监听,例如使用 Express:
Next.js、Nuxt、React Router、Astro 和 SolidStart 会自行读取 PORT:它们的框架指南会说明何时无需任何修改。

准备项目

必需文件

  • squarecloud.app,位于 ZIP 的根目录。
  • 你的主文件,例如 index.js 或 src/index.ts。
  • 包含依赖的 package.json。缺少它的上传会以 INVALID_DEPENDENCY 失败。
配置文件(squarecloud.app)必须位于 zip 文件的根目录中。否则,Square Cloud 在部署时将无法找到它。
Square Cloud 通过 tsx(npx tsx MAIN)原生运行 TypeScript,但在生产环境中仍建议编译为 JavaScript:在你的电脑上构建,并将 MAIN 指向编译后的文件。

不需要包含的文件

  • node_modules:Square Cloud 会从你的上传内容中移除此文件夹,并在首次启动时根据 package.json 安装依赖。这样既能让上传保持精简,也能为服务器的系统构建依赖。
  • 锁文件(package-lock.json、yarn.lock、pnpm-lock.yaml):CLI 和 VS Code 扩展默认不会上传它们,因此 npm 会安装 package.json 中版本范围允许的最新版本。如果你需要锁文件中的确切版本,请在你的 squarecloud.ignore 中用 !package-lock.json 重新包含它。

框架指南

Express

Fastify

NestJS

Next.js

Nuxt

React Router

Angular

Astro

SolidJS

Qwik

React

Vue

使用 Vite、React、Vue 或 Preact 构建的单页应用也可以不使用 Node.js,运行在静态运行时上。

故障排除

当配置文件中为你的应用定义为 “main” 的文件不存在、拼写错误或路径有误时,就会出现此错误。例如,如果你的主文件位于某个文件夹内,则必须指定为 folder/file.js。
托管一个机器人所需的最低内存为 256MB,托管网站/API 则为 512MB。不过,根据应用的大小和复杂程度,可能需要分配更多的内存,以避免应用因内存耗尽而崩溃。
其他问题请参阅故障排除。

部署

通过控制面板

1

访问上传页面

访问上传页面并上传你的项目 zip 文件。
2

配置你的环境

上传 zip 后,你需要为项目配置名称、主文件或运行时环境以及其他设置。
如果你上传的是 Web 项目,请务必选择 “Web Publication” 并为项目设置子域名。
3

部署你的项目

最后,点击 “Deploy” 按钮,即可将项目托管到 Square Cloud。
部署完成后,你可以在控制面板中监控项目的状态和日志。
正在上传应用到 Square Cloud
4

确认你的应用已上线

首次部署通常在一分钟内完成。在控制面板中,等待你的应用状态显示为运行中,并检查日志中是否有启动错误。
如果你部署的是网站或 API,请在浏览器中打开 https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
应用无法启动?请参见故障排除指南,了解最常见的原因和解决方法。

通过 CLI

要使用此方法,你的项目根目录中需要有一个名为 squarecloud.app 的配置文件。它告诉 Square Cloud 如何运行你的应用。

配置文件指南

了解如何创建定义你应用环境的 squarecloud.app 配置文件。
1

安装 CLI

安装 Square Cloud CLI。如果你已经安装,运行同一条命令即可更新:
2

登录

运行下面的命令。它会打开你的浏览器:在浏览器中批准登录后,CLI 即可使用。无需复制任何 API 密钥。如需在脚本和 CI 中使用,请参阅 CLI 身份验证。
3

上传你的项目

在项目文件夹中运行下面的命令。CLI 会将当前文件夹打包为 zip(排除 squarecloud.ignore 中列出的内容)并上传:
要上传你自己创建的 zip,请通过 --file 传入:
4

确认你的应用已上线

首次部署通常在一分钟内完成。直接在终端中检查你的应用状态和日志:
如果你部署的是网站或 API,请在浏览器中打开 https://<your-subdomain>.squareweb.app,你应该能看到应用正常响应。如果你部署的是机器人,发送一条命令确认它已上线。
应用无法启动?请参见故障排除指南,了解最常见的原因和解决方法。

后续步骤

环境变量

将密钥和设置放在代码之外,并在运行时读取。

自定义域名

在 Standard 及以上计划中,用你自己的域名提供应用。

故障排除

修复无法启动的应用或没有响应的站点。

联系我们

如果你仍然遇到技术问题,我们的专业支持团队可以为你提供帮助。联系我们,我们很乐意协助你解决任何问题,支持质量正是开发者给予 Square Cloud 4.9/5 评分(共 402 条评价)(Google 与 Trustpilot)的重要原因之一。