跳转到主要内容

🚀 简介

  • 在开始之前,您可以选择在项目中使用 Deno 运行时。如果您本地还没有安装 Deno,可以有两种主要方案:
  • 通过 npm 安装(推荐,以便在 deploy 期间与 npx 兼容):
npm install deno
  • 或者通过官方安装程序安装 Deno(请查阅 Deno 文档以获取原生安装说明)。
  • 通过将 deno 添加为依赖项,您就可以在 squarecloud.appSTART 字段中使用 npx deno 来用 Deno 启动您的应用程序。有关 START 的示例,请参见下文“启动应用程序”部分。
  • 接下来,您需要在 Square Cloud 上创建一个账户,可以通过登录页面完成。您可以使用邮箱、GitHub 或两者结合来创建账户。
  • 最后,您的账户需要拥有一个有效的付费套餐。您可以在这里查看我们的套餐并根据需要购买。

⚙️ squarecloud.app 文件配置

如果你通过 Square Cloud 网站上传应用,可以忽略本节内容。网站会自动为你创建 squarecloud.app 配置文件。

了解更多:如何为 Square Cloud 创建配置文件。

squarecloud.app 文件是一个配置文件,用于配置你的应用;它用来定义名称、描述、 版本、主文件等内容。

▶️ 如何启动您的应用程序

  • 若要在 Square Cloud 的 Node.js 环境中使用 Deno 运行时,请先将 deno 包添加到您的项目中(例如 npm install deno),以便运行时环境中可以使用 npx deno 命令。
  • 然后,在您的 squarecloud.app 中设置 START 字段,填入使用 Deno 启动应用程序的命令。示例:
OR .config
START=npx deno run --allow-net --allow-env main.ts
如果您使用在 deno.json 中定义的任务,可以这样启动:
START=npx deno task start
  • 请根据您应用程序的需要调整权限(--allow-net--allow-env--allow-read 等)。
  • 请记住:如果定义了 START 字段,其中的值将被直接执行。有关配置文件参数的更多信息,请访问配置参数
  • 如果您在 Deno 中使用 npm 模块且 node_modules 文件夹不存在,Square Cloud 将运行 npm install --no-package-lock --no-audit --no-fund 来安装依赖并清理 .npm 文件夹。
如果您打算将 Deno 作为运行时使用,我们建议将 deno 添加为依赖项(npm install deno),以确保在 deploy 期间运行时环境中可以使用 npx deno。在您更倾向于使用原生 Deno 安装程序的项目中,请在采用此方案前检查兼容性和您的构建需求。

🖥️ 准备项目

📁 必要的配置文件

在为在 Square Cloud 上 deploy 准备您的 Deno 项目时,请确保将配置文件(squarecloud.app/.config)和您应用程序的必要文件包含在一个 zip 文件中。
配置文件(squarecloud.app/.config)必须位于 zip 文件的根目录下。否则,Square Cloud 将无法在 deploy 期间找到它。

🗑️ 上传前需排除的文件

  • node_modules:仅在您使用 npm 模块时才需要;否则请勿上传,以减小上传体积。
  • package-lock.json:当检测到使用 npm 时,生产环境将根据 package.json 安装依赖。
  • deno_dir.cache/deno:Deno 缓存目录;deploy 不需要。

🤔 为什么要排除这些文件?

在上传项目前排除 node_modulespackage-lock.json 和 Deno 缓存有以下几个原因:
  1. 安装一致性: 不上传 node_modules 可确保依赖由生产环境安装,从而得到一致的构建结果,避免本地系统的差异。
  2. 最新的安装: 生产环境将安装 package.json 中列出的依赖的最新兼容版本(如适用),或使用 deno.json 中定义的远程导入。
  3. 减小上传体积: 不包含这些目录可减小上传文件的体积,加快上传过程,使 deploy 更加高效。
这样做,您就能确保您的 Deno 应用程序为在 Square Cloud 上托管做好了最佳准备。

📄 必需文件

托管您的 Deno 项目需要以下三个文件:

💡 故障排查

当在配置文件中被定义为应用程序 “main” 的文件不存在、拼写错误或路径 有误时,就会出现此错误。例如,如果您的主文件位于某个文件夹内, 您必须填写 folder/file.tsfolder/file.js
托管一个机器人所需的最低 RAM 为 256MB,而托管一个 网站/API 则为 512MB。不过,视您应用程序的规模和复杂度而定, 可能建议分配更大的 RAM,以避免应用程序耗尽内存并崩溃。

📤 如何托管您的项目

现在您已经为 Deno 项目准备好了所有文件,下一步就是将它们上传到 Square Cloud 并让您的应用程序上线。上传方式有多种,我们将介绍其中两种:通过控制面板或通过 CLI。

通过控制面板

1

访问上传页面

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

配置你的环境

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

部署你的项目

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

通过 CLI

要使用此方法,你需要在项目根目录中创建一个名为 squarecloud.app 的配置文件。该文件将包含项目所需的配置。

了解更多:如何为 Square Cloud 创建配置文件。

squarecloud.app 文件是一个配置文件,用于配置你的应用;它将用于定义你的环境。
1

安装 CLI

首先,你的环境中需要已安装 CLI。如果尚未安装,请在终端中运行以下命令:
npm install -g @squarecloud/cli
如果你已经安装,我们建议对其进行更新。为此,请在终端中运行以下命令:
squarecloud update
2

进行身份验证

现在,要进行身份验证并使用其他 CLI 命令,你可以在此处点击 “Request API Key” 找到你的授权密钥。获取授权密钥后,运行以下命令:
squarecloud auth login
3

上传你的项目

最后,要使用 CLI 将应用部署到 Square Cloud,你需要运行以下命令:
squarecloud upload 
或者,如果你手动创建了 zip 文件,可以使用:
squarecloud upload --file <path/to/zip> 

联系我们

如果你仍然遇到技术问题,我们的专业支持团队可以为你提供帮助。联系我们,我们很乐意协助你解决任何问题。