部署静态站点
- 你正在使用的是默认的构建输出路径()。这个路径 可以通过
build.outDir
更改,在这种情况下,你可以从这篇指南中找到出所需的指引。 - 你正在使用 NPM;或者 Yarn 等其他可以运行下面的脚本指令的包管理工具。
- Vite 已作为一个本地开发依赖(dev dependency)安装在你的项目中,并且你已经配置好了如下的 npm scripts:
值得注意的是 vite preview
用作预览本地构建,而不应直接作为生产服务器。
::: tip 注意 本篇指南提供了部署 Vite 静态站点的说明。Vite 也对服务端渲染(SSR)有了实验性的支持。SSR 是指支持在 Node 中运行相应应用的前端框架,预渲染成 HTML,最后在客户端激活(hydrate)。查看 了解更多细节。另一方面,如果你在寻找与传统服务端框架集成的方式,那么请查看 后端集成 章节。 :::
你可以运行 npm run build
命令来执行应用的构建。
$ npm run build
默认情况下,构建会输出到 dist
文件夹中。你可以部署这个 dist
文件夹到任何你喜欢的平台。
当你构建完成应用后,你可以通过运行 npm run preview
命令,在本地测试该应用。
$ npm run build
$ npm run preview
preview
命令会在本地启动一个静态 Web 服务器,将 dist
文件夹运行在
你可以通过 --port
参数来配置服务的运行端口。
{
"scripts": {
"preview": "vite preview --port 8080"
}
}
现在 preview
命令会将服务器运行在 http://localhost:8080。
GitHub Pages
在
vite.config.js
中设置正确的base
。如果你要部署在
https://<USERNAME>.github.io/
上,你可以省略base
使其默认为'/'
。如果你要部署在
https://<USERNAME>.github.io/<REPO>/
上,例如你的仓库地址为https://github.com/<USERNAME>/<REPO>
,那么请设置base
为'/<REPO>/'
。在你的项目中,创建一个
deploy.sh
脚本,包含以下内容(注意高亮的行,按需使用),运行脚本来部署站点:
::: tip 你也可以在你的 CI 中配置该脚本,使得在每次推送代码时自动部署。 :::
GitHub Pages 配合 Travis CI
在
vite.config.js
中设置正确的base
。如果你要部署在
https://<USERNAME or GROUP>.github.io/
上,你可以省略base
使其默认为'/'
。如果你要部署在
https://<USERNAME or GROUP>.github.io/<REPO>/
,例如你的仓库地址为https://github.com/<USERNAME>/<REPO>
,那么请设置base
为'/<REPO>/'
。在项目根目录创建一个
.travis.yml
文件在本地运行
npm install
并且提交(commit)生成的 lockfile (package-lock.json
)。-
language: node_js
node_js:
- lts/*
- npm ci
script:
deploy:
provider: pages
skip_cleanup: true
local_dir: dist
# 在 GitHub 上生成的 token,允许 Travis 推送代码到你的仓库。
# 在仓库的 Travis 设置页面,设为安全的环境变量
github_token: $GITHUB_TOKEN
keep_history: true
on:
branch: master
GitLab Pages 配合 GitLab CI
在
vite.config.js
中设置正确的base
。如果你要部署在
https://<USERNAME or GROUP>.gitlab.io/
上,你可以省略base
使其默认为'/'
。如果你要部署在
https://<USERNAME or GROUP>.gitlab.io/<REPO>/
上,例如你的仓库地址为https://gitlab.com/<USERNAME>/<REPO>
,那么请设置base
为'/<REPO>/'
。在项目根目录创建一个
.gitlab-ci.yml
文件,并包含以下内容。它将使得每次你更改内容时都重新构建与部署站点:image: node:16.5.0
pages:
stage: deploy
cache:
key:
files:
- package-lock.json
prefix: npm
paths:
- node_modules/
script:
- npm install
- npm run build
- cp -a dist/. public/
artifacts:
paths:
- public
rules:
- $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
在 Netlify 上,使用以下设置,配置一个来自 GitHub 的项目:
- 构建命令:
vite build
或 - 发布目录:
dist
- 构建命令:
点击部署按钮。
Google Firebase
在项目根目录创建
firebase.json
和.firebaserc
两个文件,包含以下内容:firebase.json
:{
"hosting": {
"public": "dist",
"ignore": []
}
}
.firebaserc
:运行
npm run build
后,通过firebase deploy
命令部署。
Surge
首先确保已经安装 。
运行
npm run build
。运行
surge dist
命令部署到 surge。
你也可以通过添加 surge dist yourdomain.com
部署到一个 自定义域名。
安装 。
注册一个 Heroku 账号。
运行
heroku login
并填入你的 Heroku 凭证:$ heroku login
-
static.json
:{
"root": "./dist"
}
这是你站点的配置,阅读 文档来了解更多。
配置好你的 Heroku git 远程地址:
# 版本变更
$ git init
$ git add .
$ git commit -m "My site ready for deployment."
# 创建一个具有指定名称的新应用
$ heroku apps:create example
# 为静态站点设置 buildpack
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git
部署站点:
Vercel
要通过 部署你的 Vite 应用,请确保它已被推送至一个 Git 仓库。
进入 https://vercel.com/import/git 并根据你的 Git 托管服务(GitHub, GitLab 或 BitBucket)将项目导入 Vercel。根据指引,选择带有 package.json
的项目根目录。并使用 npm run build
来覆写构建步骤,并将输出目录设置为 ./dist
。
在项目被导入之后,所有后续的推送都将生成预览部署,但只有对生产分支(通常是 “main”)所做的更改才会触发生产部署。
一旦部署,你会得到一个实时查看应用的 URL,如
Azure 的静态网站应用
你可以通过微软 Azure 的 服务来快速部署你的 Vite 应用。你只需:
安装完此扩展后,进入你应用的根目录。打开 SWA 的扩展程序,登录 Azure,并点击 ‘+’,来创建一个全新的 SWA。系统会提示你指定所需的订阅 key。
按照扩展程序的启动向导,给你的应用程序起个名字,选择框架预设,并指定应用程序的根目录(通常为 /
)以及构建文件的路径 /dist
。此向导完成后,会在你的 repo 中的 .github
文件夹中创建一个 Github Action。
这个 action 致力于部署你的应用程序(可以在仓库的 Actions 标签中,查看相关进度),成功完成后,你可以点击 Github 中出现的 “浏览站点” 的按钮,查看你的应用程序。
腾讯云 Webify 支持从 Git 仓库直接部署您的 Vite 应用。
进入 ,根据选择您代码仓库所在的 Git 平台(GitHub、GitLab 或者 Gitee 码云),完成授权流程后,便可导入仓库。
应用配置如下:
- 构建命令填入
npm run build
- 安装命令填入
npm install
应用创建之后,等待构建、部署完毕,便可以通过应用的默认域名(.app.tcloudbase.com
)来访问应用。如 https://my-vite-vue-app-4gi9tn1478d8ee71-1255679239.ap-shanghai.app.tcloudbase.com/