.env文件是用来配置应用程序中的全局变量的文件
通常用于根据应用程序运行的环境比如开发环境或生产环境设置不同的参数
例如: 请求的地址或者其他配置信息 这样做可以防止因为忘记修改配置而导致不必要的问题或操作
将env创建在项目根目录易于访问和管理:
.env:全局默认配置文件 无论什么环境都会加载合并
.env.development:开发环境的配置文件
.env.production:生产环境的配置文件
webpack中使用
以vue-cli举例 vue-cli要求自定义环境变量必须以 VUE_APP_ 开头这样的前缀告诉vue-cli哪些变量是专门为你的Vue应用程序设置的 而不是其他系统或环境可能设置的变量
创建 .env.development
//仅为示例
NODE_ENV="development"
VUE_APP_BASE_URL="/api"
创建 .env.production
//仅为示例
NODE_ENV="production"
VUE_APP_BASE_URL="http://127.0.0.1:5500"
在运行开发环境时 node会自动将配置切换到开发模式development
在打包生产环境时 node会切换到生产模式production
这个命名是固定的 如果创建的文件名称错了将读不到设置的环境
如果想要自定义.env文件名并使用的话可以借助dotenv-cli 这个包帮我们去自定义
例如:
我们想要在开发环境中使用 .env.dev 文件来设置环境变量 首先 需要创建一个名为 .env.dev 的文件 并在其中配置所需的环境变量 然后 在 package.json 文件中 只需在希望设置环境变量的脚本位置添加 dotenv -e .env.dev 的前缀即可
这样当我们运行dev时 在项目中使用 process.env 读取环境变量时就会读取到 .env.dev 文件中设置的一些环境变量
例如:
vite中使用
和webpack基本一致
环境变量命名格式换成 VITE_ 开头
NODE_ENV=dev
VITE_GLOB_BASE_URL="dev"
在项目中使用时使用
import.meta.env去读取当前运行环境配置的全局环境变量