当前位置: 首页 > news >正文

.env.development、.env.production、.env.staging

环境变量文件(如 .env.development.env.production.env.staging)用于根据不同的环境(开发、生产、测试等)配置应用程序的行为。

作用

  1. .env.development:用于开发环境的配置。开发人员在本地开发时会使用这个文件中的配置。
  2. .env.production:用于生产环境的配置。应用程序在部署到生产环境时会使用这个文件中的配置。
  3. .env.staging:用于预发布环境的配置。通常用于测试和验证即将发布到生产环境的版本。

如何使用和配置

详细步骤:

1. 创建环境变量文件

在项目的根目录下创建以下文件:

  • .env.development
  • .env.production
  • .env.staging
2. 配置环境变量

在每个文件中添加环境变量。例如:

.env.development

VITE_API_URL=http://localhost:3000/api
VITE_APP_MODE=development

.env.production

VITE_API_URL=https://api.example.com
VITE_APP_MODE=production

.env.staging

VITE_API_URL=https://staging-api.example.com
VITE_APP_MODE=staging
3. 在代码中使用环境变量

在 Vite 项目中,所有以 VITE_ 开头的环境变量都可以在代码中通过 import.meta.env 访问。例如:

console.log(import.meta.env.VITE_API_URL);
console.log(import.meta.env.VITE_APP_MODE);
4. 配置 Vite 以使用不同的环境文件

Vite 会根据 NODE_ENV 环境变量自动加载相应的 .env 文件。你可以通过在启动脚本中设置 NODE_ENV 来指定使用哪个环境文件。

package.json

{"scripts": {"dev": "vite --mode development","build": "vite build --mode production","serve": "vite preview --mode production","staging": "vite build --mode staging"}
}

在上述配置中:

  • npm run dev 会使用 .env.development 文件。
  • npm run buildnpm run serve 会使用 .env.production 文件。
  • npm run staging 会使用 .env.staging 文件。
5. 运行项目

根据需要运行不同的脚本:

  • 开发环境:

    npm run dev
    
  • 生产环境:

    npm run build
    npm run serve
    
  • 预发布环境:

    npm run staging
    

示例项目结构

以下是一个示例项目结构,展示了如何组织和使用环境变量文件:

my-vite-project/
├── .env.development
├── .env.production
├── .env.staging
├── package.json
├── src/
│   ├── main.js
│   └── App.vue
└── vite.config.js
http://www.lryc.cn/news/399664.html

相关文章:

  • 国密证书(gmssl)在Kylin Server V10下安装
  • 【数据服务篇】法律快车问答数据:为法律智能化铺就道路
  • 各向异性含水层中地下水三维流基本微分方程的推导(二)
  • 2024 微信小程序 学习笔记 第一天
  • PCIe驱动开发(3)— 驱动设备文件的创建与操作
  • 【Redis】简单了解Redis中常用的命令与数据结构
  • IDEA启动Web项目总是提示端口占用
  • JRT打印鉴定记录单
  • 数据处理-Matplotlib 绘图展示
  • Nginx -Web服务器/反向代理/负载均衡
  • 机器人三定律及伦理分析
  • 自动驾驶算法———车道检测(一)
  • 小程序自学教程
  • How do I format markdown chatgpt response in tkinter frame python?
  • vs2019 QT无法打开源文件QModbusTcpClient
  • 初识c++(命名空间,缺省参数,函数重载)
  • 印尼Facebook直播网络需要达到什么要求?
  • 力扣题解(最长回文子串)
  • 数据湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能对比(Spark 引擎)
  • 脚本练习-每5分钟执行一次获取当前服务器的基本情况
  • 技术探索之kotlin浅谈
  • 机器学习之常用优化器
  • 机器学习基本概念,Numpy,matplotlib和张量Tensor知识进一步学习
  • 博客前端项目学习day01
  • java Collections.synchronizedCollection方法介绍
  • 力扣每日一题:3011. 判断一个数组是否可以变为有序
  • ubuntu 上vscode +cmake的debug调试配置方法
  • 使用Redis实现签到功能:Java示例解析
  • tableau标靶图,甘特图与瀑布图绘制 - 9
  • 双向链表专题