macOS Shell环境变量怎么配置Vite前端构建工具变量

酷丽吖_3360

酷丽吖_3360

2026-10-06

837人浏览

原创

vite 环境变量与 macos shell 环境变量完全隔离,仅通过项目根目录的 .env* 文件(如 .env.development、.env.production)加载,且仅 vite_ 开头的变量才会注入 import.meta.env;shell 中 export 设置对 vite 无效,无需配置系统级环境变量。

macos 上的 shell 环境变量(如 path、node_env)和 vite 的环境变量是两套独立机制,不能混用。vite 不读取 macos shell 的 export var=value 设置,它只认项目根目录下的 .env* 文件。直接在终端里 export vite_api_base=https://api.dev 对 vite 无效,也不会出现在 import.meta.env 中。

Shell 环境变量该配什么?

只需确保 Node.js 和 npm 可执行即可,Vite 本身不需要额外 Shell 变量:

  • Node.js 路径:确认 node 和 npx 命令可用(通常通过 nvm 或 Homebrew 安装后自动加入 PATH)
  • 避免全局安装 Vite:推荐用 npx vite 或 npm run dev,不依赖 Shell 的 VITE_* 变量
  • 敏感配置别放 Shell:比如 export API_KEY=xxx 是危险操作——Shell 变量可能被子进程继承、出现在进程列表或日志中

Vite 真正该配的环境变量在哪?

全部放在项目根目录的 .env.* 文件里,Vite 启动时自动加载:

  • .env:通用默认值(不建议放具体地址)
  • .env.development:开发时生效(vite 或 vite dev 默认用这个)
  • .env.staging:测试/预发环境(需加 --mode staging)
  • .env.production:生产构建时生效(vite build 默认用这个)

每个文件中,**只有以 VITE_ 开头的变量**才会注入前端代码:

PigX UI 前端开发
PigX UI 前端开发

PigX UI Pro 前端开发指南 - Vue 3 + TypeScript + Element Plus。当用户提到 PigX UI、PigX 前端、lgb-mgui 项目、Vue 3 企业级后台开发、Element Plus 后台开发时使用此技能。

下载
VITE_API_BASE=https://dev.api.com<br>
VITE_DEBUG=true<br>
DB_PASSWORD=secret123  ← 这行完全不会进打包产物

怎么让不同模式自动对应正确 .env 文件?

靠 package.json 中的脚本命令指定 --mode:

  • "dev": "vite" → 自动加载 .env.development
  • "build:stage": "vite build --mode staging" → 加载 .env.staging
  • "preview:prod": "vite preview --mode production" → 加载 .env.production

无需修改 macOS 的 ~/.zshrc 或设置 Shell 变量,Vite 内部已按规则优先级合并(.env.${mode}.local > .env.${mode} > .env.local > .env)。

需要动态读取 Shell 变量?极少数场景可桥接

例如 CI/CD 中由部署平台注入变量,可在 vite.config.ts 中手动加载:

  • 用 Vite 提供的 loadEnv() 函数读取当前 mode 下的 .env 文件
  • 若真需 Shell 变量(如 Jenkins 传入的 DEPLOY_ENV),应在构建前写入临时 .env 文件,而不是靠 process.env 注入
  • 切记:import.meta.env 是编译期静态注入,不是运行时 Shell 查找

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

macos 前端 vite 环境变量

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2283

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4943

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6030

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

5538

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

783

5

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

239

16

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3850

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3313

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2453

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Miniconda官方安装文档
Miniconda官方安装文档

共0课时 | 0人学习

HBuilderX macOS 安装手册
HBuilderX macOS 安装手册

共0课时 | 0人学习