vite中的环境变量
文章类型:Vue
发布者:hp
发布时间:2024-07-29
1:定义:根据当前代码环境变化的变量叫做环境变量
// webpack.config.js
module.exports = {
mode: process.env.NODE_ENV === 'production' ? 'production' : 'development'
}
2:说明:process.env.NODE_ENV就是一个环境变量
3:分类:一般分为生成环境和开发环境
4:宿主:环境变量的识别,是由浏览器端进行的,由浏览器根据不同环境变量进行不同逻辑
1:定义:vite主要是用特殊的 import.meta.env 对象上暴露环境变量
2:参数:
import.meta.env.MODE: {string} 应用运行的模式。
import. meta.env.BASE_URL: {string} 部署应用时的基本 URL。他由base配置项决定。
import. meta.env.PROD: {boolean} 应用是否运行在生产环境。
import. meta.env.DEV: {boolean} 应用是否运行在开发环境 (永远与 import.meta.env.PROD相反)。
import.meta.env.SSR: {boolean} 应用是否运行在 server 上
3:注意:vite.config.js中无法访问
1:加载方式
.env # 所有情况下都会加载
.env.[mode] # 只在指定模式下加载
npm run dev 会加载 .env 和 .env.development 内的配置
npm run build 会加载 .env 和 .env.production 内的配置
2:识别方式:
加载的环境变量也会通过 import.meta.env 以字符串形式暴露给客户端源码
为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码
1:加载自定义的.env文件,直接配置命令
"scripts": {
"test": "vite --mode test",
"dev": "vite",
"build": "vite build"
},
2:更改.env默认地址
创建envDir文件目录,用来加载.env文件,可以是绝对路径,也可以是相对路径
import { defineConfig } from "vite";
export default defineConfig( {
envDir:"env"
});
3:更换环境变量VITE_前缀
使用envPrefix配置,envPrefix 开头的环境变量会通过 import.meta.env 暴露在你的客户端源码中