Vercel 简介

项目设置与环境变量

掌握 Vercel 项目的构建设置与环境变量配置,学会区分不同部署环境。

🎯 引言

学完这篇文章,你将学会查看和调整 Vercel 项目的构建设置(构建命令、输出目录等),并掌握环境变量的配置方法,让项目在预览环境和生产环境使用不同的配置。


🧱 项目的构建设置

导入项目时 Vercel 自动识别了框架并填好了构建配置,这些配置随时可以修改。打开项目 → Settings → General → Build & Development Settings,能看到四个关键选项:

选项作用Vite 项目默认值
Framework Preset框架预设Vite
Build Command构建命令npm run build
Output Directory产物输出目录dist
Install Command安装依赖命令npm install
Vercel 控制台的菜单路径和选项名称会随页面更新而调整,本篇涉及的入口描述(如 Settings → General)仅供参考。找不到对应入口时,在项目 Settings 里浏览菜单或搜索关键词即可。

什么时候需要手动改?举个常见例子:你自定义了构建脚本 npm run build:prod,那就把 Build Command 改成它,保存后下次部署时生效

绝大部分项目保持默认即可。只有自定义了构建流程、或项目代码在仓库子目录(Root Directory)时,才需要动这些设置。

🧱 为什么需要环境变量

假设项目里要请求后端接口,本地开发和线上环境的接口地址不一样:

  • 本地:http://localhost:3000/api
  • 线上:https://api.example.com

直接把地址写死在代码里,切换环境时就得改代码、重新提交,非常麻烦。环境变量就是来解决这个问题的:把"会变的值"抽出来,由部署平台在构建时注入。

Vite 项目读取环境变量的方式是 import.meta.env.变量名(Stage4 Vite 课程已学过),变量名必须以 VITE_ 开头:

src/App.vue
<script setup>
const apiUrl = import.meta.env.VITE_API_URL;
console.log('当前接口地址:', apiUrl);
</script>

🛠 在 Vercel 配置环境变量

打开项目 → Settings → Environment Variables,添加一个变量:

  • NameVITE_API_URL
  • Valuehttps://api.example.com
  • Environments:勾选 Production(生产环境)

保存后回到 Deployments,对最新部署点击 Redeploy(或本地再 push 一次),变量才会被注入到新的构建中。

新增或修改环境变量后,必须重新部署才会生效,因为 Vite 是在构建时把变量值写进产物代码里的。

🌍 三种部署环境

添加变量时你会看到三个环境选项,它们对应不同的部署场景:

环境什么时候生效
Production生产部署(main 分支、vercel --prod
Preview预览部署(其他分支、PR、vercel
Development本地开发(vercel dev,最后一篇会用到)

同一个变量名,可以给不同环境设置不同的值。比如 VITE_API_URL 在 Production 填正式接口地址,在 Preview 填测试接口地址,这样预览环境自动连测试服,互不干扰。


🧾 小节总结

  • 构建设置在 Settings → Build & Development Settings,Vite 项目一般保持默认即可。
  • 环境变量用来存放"随环境变化的值",如接口地址。
  • Vite 项目通过 import.meta.env.VITE_XXX 读取,变量名必须以 VITE_ 开头。
  • 环境变量分为 Production、Preview、Development 三种生效范围。
  • 修改环境变量后必须重新部署才会生效。

❓ 知识问答

Q1:把密钥(Secret Key)放进 VITE_ 变量安全吗?

A:不安全!以 VITE_ 开头的变量会被打包进前端代码,任何人都能在浏览器里看到。后端密钥绝对不能放进来,正确的做法是写在 Serverless Function 里(第七篇会讲)。

Q2:改了环境变量,为什么线上没变化?

A:两个常见原因:一是没有重新部署;二是变量名忘了加 VITE_ 前缀,Vite 不会把它注入前端代码。

Q3:本地 .env 文件和 Vercel 的环境变量是什么关系?

A:互不影响。.env 只在本地开发时生效;部署到 Vercel 后,读取的是控制台里配置的变量。两套值要分别维护。

Q4:Preview 环境没配某个变量会怎样?

A:该环境下这个变量就是 undefined。如果预览部署也需要用到它,记得给 Preview 也勾选并赋值。


🧪 小练习

  1. 在 Vercel 控制台添加环境变量 VITE_APP_AUTHOR,Production 环境值为你的名字。
  2. App.vue 中用 import.meta.env.VITE_APP_AUTHOR 读取并显示在页面上。
  3. 重新部署,确认线上页面正确显示。
src/App.vue
<script setup>
// 请在这里编写代码
</script>

🎉 恭喜你已经掌握了项目设置与环境变量!下一篇我们学习预览部署和版本回滚,让上线更安心。