部署

Valaxy 的部署非常简单,我们推荐你直接通过第三方的 CI 构建并托管到任意平台。

自行部署

bash[object Promise]
bash[object Promise]
bash[object Promise]

执行 build 命令构建,dist 文件夹为构建后的内容。

SSG 构建(默认 Valaxy SSG 引擎)最低需要 ~2 GB 堆内存;传统 vite-ssg 引擎需要 ~2.3 GB。如果遇到 JavaScript heap out of memory 错误,请设置:

bash[object Promise]

第三方部署

提示

第三方部署的各配置文件已内置在 Valaxy 的初始化模版项目中,您可以按需使用。

如果部署失败,推荐您先在本地通过 npm run build 检查潜在的构建错误。

GitHub Pages

提示

当您使用 GitHub Pages 托管时,请确保您的仓库名为 你的用户名.github.io

这是因为当存在同名目录时,GitHub Pages 会默认为您分配 你的用户名.github.io 作为你的个人域名。

尽管您也可以将其重命名为其他名称,并设置自定义域名等。(更多的进阶操作,可自行搜索。)
但作为新手,我更推荐您遵循默认规则,以避免意想不到的错误。

.github/workflows/gh-pages.yml
gh-pages.yml
yml[object Promise]

在使用 pnpm create valaxy 创建模版项目时,已内置文件.github/workflows/gh-pages.yml 以实现 GitHub Actions 的自动部署工作流。

  • 选择 Github Repo,打开 Settings-> Action -> General -> Workflow permissions,选择 read and write permissions
  • 上传至 GitHub Repo,打开 Settings -> Pages,选择 gh-pages 分支。

gh-pages 已由 .github/workflows/gh-pages.yml 自动部署。

注意修改 gh-pages.yml 中的 on.push.branches 为你源代码所在的分支,默认为 main

Netlify

已内置 netlify.toml

  • 连接 GitHub 仓库,可自动部署。

Vercel

对于已有的 Valaxy 博客,在开始部署之前,您需要先对您博客的 vercel.json 进行修改以便启用 cleanUrls 支持

vercel.json
json[object Promise]

对于新创建的 Valaxy 博客,您只需要直接进行接下来的步骤即可。

  • 在 Vercel 的 Dashboard 上,点击 Add New...,随后点击 Project 新建一个项目。
  • 在左侧选择要部署的仓库,点击 Import,随后将 Framework Preset 设置为 Other 并更改 Build and Output Settings
  • Output Directory 设置为 dist 后,点击 Deploy
  • 等待屏幕上撒下彩带后访问即可。
netlify.toml
netlify.toml
toml[object Promise]

Cloudflare Pages

  • 登录你的 Cloudflare 账号,从侧边栏导航至 “Workers 和 Pages” 页面。
  • 点击 创建项目连接到 Git,选择你的 GitHub 或者 GitLab 仓库,并点击 开始设置
  • 选择你的部署分支。
  • 构建命令 设置为 pnpm build
  • 构建输出目录 设置为 dist
  • 点击 保存并部署

Nginx

Nginx Docs

下面是一个 Nginx 服务器块配置示例 nginx.conf。此配置包括对基于文本的常见资源的 gzip 压缩、使用适当缓存头为 Valaxy 站点静态文件提供服务的规则以及处理 cleanUrls: true 的方法。

nginx.conf
nginx.conf
nginx[object Promise]

本配置默认已构建的 Valaxy 站点位于服务器上的 /usr/share/nginx/html 目录中。如果站点文件位于其他位置,请相应调整 root 指令。

Docker

Docker Docs

下面是一个 Dockerfile 示例,用于构建 Valaxy 站点并将其部署到 Nginx 服务器中。

请参考 Nginx 部分配置 nginx.conf,并将其放置于 Dockerfile 同一目录下。

Dockerfile
Dockerfile
Dockerfile[object Promise]

其他

你还可以使用 Render 等进行托管。

提示

Valaxy 与 VitePress 同样是静态站点。你也可以参考 VitePress 部署指南 进行部署。

贡献者