knowLedge-VueCLI项目中环境变量的定义与使用

1. env

1.1简介

在 Vue CLI 创建的项目中,你可以通过 .env 文件来定义环境变量。Vue CLI 支持多种 .env 文件,它们根据文件名中的前缀来决定何时加载和使用这些环境变量。

以下是一些常见的 .env 文件及其用途:

  • .env:在任何环境下都会加载的环境变量。
  • .env.local:本地环境(例如,开发环境)特有的环境变量。在构建和运行时,这个文件会被加载,但不会被提交到版本控制系统。
  • .env.development:只在开发环境下加载的环境变量。
  • .env.production:只在生产环境下加载的环境变量。
1.2定义环境变量

.env 文件中,可以定义环境变量,例如:

javascript 复制代码
VUE_APP_API_URL=https://api.example.com
1.3访问环境变量

process.env.VUE_APP_API_URL 来访问这个环境变量:

javascript 复制代码
console.log(process.env.VUE_APP_API_URL); // 输出: https://api.example.com

请注意,环境变量的名称必须以 VUE_APP_ 开头,这是 Vue CLI 的一个特殊要求,用于确保环境变量被正确注入到客户端代码中。

此外,可以在 .env 文件中定义其他环境变量,例如:

javascript 复制代码
NODE_ENV=development

这些环境变量不会自动注入到客户端代码中,但它们可以在构建过程中被使用,例如,你可以在 vue.config.js 文件中根据 process.env.NODE_ENV 的值来配置不同的构建选项。

2. process.env

process.env 是 Node.js 的一个全局对象,用于访问环境变量。在template结构中无法识别,需在js中进行赋值转换

  1. 使用环境变量文件 :在前端项目中,你可以创建一个环境变量文件,例如 .env,并在其中定义你的环境变量。然后,你可以使用 dotenv 库(在前端项目中通常需要使用 dotenv-webpack 或类似的库)来加载这个文件。这样,你就可以在前端代码中使用 process.env 对象来访问这些环境变量了。

  2. 使用构建工具的配置选项 :许多前端构建工具(如 Webpack、Rollup 等)允许你在构建过程中设置配置选项。你可以使用这些配置选项来定义环境变量,并在前端代码中使用它们。例如,在 Webpack 中,你可以使用 DefinePlugin 来定义全局常量,这些常量可以在前端代码中访问。

  3. 使用服务器端渲染(SSR):如果你的前端项目使用了服务器端渲染,你可以在服务器端设置环境变量,并在渲染过程中将这些变量传递给前端。然后,你可以在前端代码中使用这些变量。

3. 在 .env 文件中,可以定义环境变量为字符串

javascript 复制代码
VUE_APP_BRUMB_SHOW=true

转换为布尔值进行判断

javascript 复制代码
 this.crumbShow=process.env.VUE_APP_BRUMB_SHOW === "false" ? false : true;;
相关推荐
无名之逆35 分钟前
你可能不需要WebSocket-服务器发送事件的简单力量
java·开发语言·前端·后端·计算机·rust·编程
加农炮手Jinx36 分钟前
Flutter for OpenHarmony:web_socket_channel 全平台 WebSocket 通信标准库,从原理到鸿蒙实战(3000字深度解析)
android·前端·网络·websocket·flutter·华为·harmonyos
王码码203536 分钟前
Flutter for OpenHarmony:web_socket 纯 Dart 标准 WebSocket 客户端(跨平台兼容性之王) 深度解析与鸿蒙
android·前端·websocket·网络协议·flutter·华为·harmonyos
柳杉36 分钟前
使用AI从零打造炫酷的智慧城市大屏(开源):React + Recharts 实战分享
前端·javascript·数据可视化
Highcharts.js1 小时前
玩转Highcharts气泡图|从散点图到气泡图:增加一个维度,数据可视化瞬间立体起来
javascript·信息可视化·散点图·highcharts·图表开发·气泡图·图表创建
A_B_C_Q2 小时前
StringBuilder 与 StringBuffer的区别
java·前端
颜酱2 小时前
差分数组:高效处理数组区间批量更新的核心技巧
javascript·后端·算法
洋洋技术笔记2 小时前
vue3+vite+elementplus简单介绍
前端
Joker Zxc2 小时前
【前端基础(Javascript部分)】2、JavaScript的变量和数据类型
开发语言·前端·javascript
yuki_uix2 小时前
别再死记优缺点了:聊聊 REST、GraphQL、WebSocket 的使用场景
前端