You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite+Vue3项目如何将多个.env文件存放在指定文件夹中使用

多.env文件统一目录管理加载方案

完全可以实现,所有主流的.env加载工具都支持自定义配置文件路径,不需要把.env文件散落在项目根目录,以下是不同场景下的具体实现方法:

  • 原生Shell场景
    加载单个文件直接source全路径即可:
    source /root/env-container/.env-test1
    如果需要批量加载目录下所有.env-前缀的文件,可以用循环脚本自动加载:

    for env_file in /root/env-container/.env-*; do
      [ -f "$env_file" ] || continue
      set -a
      source "$env_file"
      set +a
    done
    

    其中set -a会自动将加载的变量标记为导出环境变量,无需在每个变量前单独写export。

  • Python场景(python-dotenv库)
    加载时通过path参数指定文件全路径即可,支持多次调用加载多个文件:

    from dotenv import load_dotenv
    # 加载单个指定文件
    load_dotenv("/root/env-container/.env-test1")
    # 批量加载目录下所有.env-前缀文件
    import os
    env_dir = "/root/env-container"
    for f in os.listdir(env_dir):
        if f.startswith(".env-"):
            load_dotenv(os.path.join(env_dir, f), override=False)
    

    override=False表示已存在的同名环境变量不会被后加载的文件覆盖,可根据实际需求调整该参数。

  • Node.js场景(dotenv库)
    初始化时传入path配置指定文件路径:

    require('dotenv').config({ path: '/root/env-container/.env-test1' })
    

    批量加载逻辑和Python类似,遍历目录拿到所有.env文件路径后依次调用config方法即可。

  • Docker/Compose场景
    给容器传递环境变量时,直接在service配置里写env_file的绝对路径:

    services:
      your-app:
        image: your-app-image
        env_file:
          - /root/env-container/.env-test1
          - /root/env-container/.env-test2
    

    如果是给Compose自身加载变量(用于配置插值),执行命令时加--env-file参数指定路径:
    docker compose --env-file /root/env-container/.env-test1 up -d

安全提示:如果.env文件包含密钥、密码等敏感信息,记得给目录和文件设置严格权限,执行chmod 700 /root/env-container && chmod 600 /root/env-container/.env-*,避免非授权用户读取敏感内容。

内容的提问来源于stack exchange,提问作者sunflower seed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:30:53