webpack 3 + Vue2 使用dotenv配置多环境

vue.config.js 多环境配置 最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。 阅读详情

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

webpack 3 + Vue2 使用dotenv方式配置多环境


一、dotenv

它能将环境变量中的变量从 .env 文件加载到 process.env 中

二、使用步骤

1.引入库

yarn add dotenv --dev 

2.添加.env文件

这里会添加.env .env.dev .env.dev.local .env.production
一般情况.env.dev.local 是不会提交到git的
会按照这个顺序覆盖环境变量的值 .env.*.local > .env.* > .env

# port
VUE_PORT = 3200

# 应用接口上下文
VUE_APP_CONTEXT_NEW = /CONT

# API请求前缀 
VUE_APP_API_PREFIX = /apis

VUE_PUBILIC_PATH = site

# 当运行 vue-cli-service build 时生成的生产环境构建文件的目录。
VUE_OUTPUT_DIR = site

#  放置生成的静态资源 (js、css、img、fonts) 的目录(相对于outputDir目录)。
VUE_ASSETSDIR = static

# 指定生成的 
VUE_INDEX_PATH = index.html

VUE_PROXY = {"/apis": "http://192.168.1.10:8089"}

3.修改代理配置

修改config/indes.js,这个文件要根据自己的配置去找。

const dotenv = require("dotenv");
const fs = require("node:fs");

const appDirectory = fs.realpathSync(process.cwd());
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
const pathsDotenv = resolveApp(".env");

dotenv.config({ path: `${pathsDotenv}.${process.env.NODE_ENV}.local` });
dotenv.config({ path: `${pathsDotenv}.${process.env.NODE_ENV}` });
dotenv.config({ path: pathsDotenv });

console.log("【process.env.VUE_PORT】", process.env.VUE_PORT);
console.log("【process.env.VUE_PROXY】", process.env.VUE_PROXY);

const createProxy = obj => {
  const ret = {};
  const httpsRE = /^https:\/\//;
  if (obj) {
    obj = JSON.parse(obj);
    for (const prefix in obj) {
      const target = obj[prefix];
      const isHttps = httpsRE.test(target);

      ret[prefix] = {
        target: target,
        changeOrigin: true,
        ws: true,
        pathRewrite: path => path.replace(new RegExp(`^${prefix}`), ""),
        ...(isHttps ? { secure: false } : {})
      };
    }
  }
  console.debug(ret);
  return ret;
};

....
// 这个地方可以使用函数方式,都一样,改proxyTable就可以了。
module.exports = {
  dev: {
  	....
 	proxyTable: createProxy(process.env.VUE_PROXY)
 	....
 }
}
....

4.vue文件中如何使用环境变量

修改 webpack.base.conf.js
需要哪些变量就配置

new webpack.DefinePlugin({
  "process.env": {
    NODE_ENV: JSON.stringify(process.env.NODE_ENV || "development"),
    VUE_APP_CONTEXT: JSON.stringify(
      process.env.VUE_APP_CONTEXT || "/CONTEXT"
    ),
    VUE_APP_API_PREFIX: JSON.stringify(
      process.env.VUE_APP_API_PREFIX || "/contextapi"
    )
  }
}),

总结

env文件在配置文件都可以用, vue页面用的时候需要在 webpack.base.conf.js 重新配置。

Vue CLI环境变量process.env全解析:从.env文件加载到Webpack打包的完整链路 本文深入解析Vue CLI环境变量process.env的完整链路,从.env文件加载到Webpack打包的深层机制。详细介绍了编译时与运行时环境变量的关键区别、Vue CLI的mode智能匹配机制、dotenv-webplug的核心工作原理,以及构建优化与SSR特殊处理等高级技巧,帮助开发者彻底掌握Vue项目环境变量配置。 阅读详情

相关推荐

别再手动改配置了!用cross-env和.env文件搞定Node.js/Vue项目多环境变量

本文详细介绍了如何使用cross-env和.env文件管理Node.js/Vue项目的多环境变量,解决开发环境、生产环境切换中的配置混乱问题。通过自动化、标准化的环境变量管理体系,提升开发效率和团队协作体验,避免人为失误和平台兼容性问题。

weixin_30888413的博客 308

webpack的基本使用

webpack的基本使用

weixin_50238437的博客 1361

别再手动改接口了!Vue项目用.env文件管理多环境(开发/测试/生产)的保姆级教程

本文详细介绍了如何在Vue项目中利用.env文件高效管理多环境配置(开发/测试/生产),告别手动修改接口的繁琐操作。通过环境变量基础配置、工程化实践和团队协作规范,实现自动化环境切换,提升开发效率和项目安全性。特别适合使用vue和process.env进行前端开发的工程师。

weixin_30770783的博客 501

dotenv-webpack如何使用

在项目根目录下创建一个名为 .env 的文件,并在其中添加你的环境变量。首先,你需要将dotenv-webpack添加为项目的开发依赖项。步骤 4:在应用程序中使用环境变量。步骤 2:创建 .env 文件。步骤 3:配置 Webpack。

AlgorithmHero的博客 918

别再手动改配置了!用cross-env和.env文件搞定Node.js多环境变量(附Vue项目实战)

本文详细介绍了如何使用cross-env和.env文件管理Node.js多环境变量,解决开发、测试和生产环境配置不一致的问题。通过Vue项目实战演示,展示了如何实现跨平台环境变量设置、安全管理和CI/CD集成,提升开发效率和项目安全性。

weixin_30753873的博客 489

Vue CLI 2.x与3.x架构差异与迁移指南

前端构建工具是现代化Web开发的核心基础设施,其核心原理基于模块化打包和依赖解析。Vue CLI作为Vue.js官方标准工具链,通过抽象Webpack配置实现了开箱即用的开发体验。CLI2采用模板化方案,而CLI3升级为插件化体系,显著提升了可维护性和扩展性。在工程实践中,理解这两个版本的架构差异对处理遗留项目和技术升级至关重要。特别是在企业级应用中,需要根据项目规模选择适当的迁移策略,同时考虑构建性能优化和团队协作效率。通过合理配置vue.config.js和利用插件系统,开发者可以构建高性能的Vue应用

weixin_34327223的博客 397

前端环境变量管理终极指南:dotenv 在 React 和 Webpack 中的完整集成方案

在现代前端开发中,环境变量管理是项目配置的核心环节。dotenv 作为 Node.js 生态中最受欢迎的环境变量加载工具,为 React、Vue 等前端框架提供了便捷的配置解决方案。本文将为你详细解析 dotenv 在前端项目中的完整集成方案。 ## 🚀 为什么前端项目需要环境变量管理? 环境变量管理让前端开发更加专业和安全。通过 dotenv,你可以轻松实现: - 🔒 **敏感信息保护

gitblog_00449的博客 891

Vue CLI 配置详解:publicPath、outputDir、assetsDir、indexPath、filenameHashing、configureW

作为一个开发人员,了解 Vue CLI 的配置选项是非常重要的,因为它们可以帮助我们更好地控制项目的构建和输出结果。在本文中,我们将详细介绍几个常用的 Vue CLI 配置选项,包括:publicPath、outputDir、assetsDir、indexPath、filenameHashing、configureWebpack 和 productionSourceMap。如果你的项目中还没有该文件,可以在项目根目录下创建一个,并将配置选项以模块导出的方式进行配置。请注意,以上的示例代码都是在。

api_git355的博客 1791

dotenv配置多环境支持vue、nuxtjs和webpack项目打包闭坑指南

文件名默认.env 当我我们可以取名叫 .env.test .env.dev .env.prod 注意文件里面的不要存在引号 DB_HOST=localhost DB_USER=root ps1:那么在nuxtjs中怎么让我们的变量支持服务器和客户端呢? 可以在nuxt.config.js再次定义env的变量把值给过去 env: { COOKIE_DOMAIN: process.env.COOKIE_DOMAIN, } ps2:nuxtjs中模块试用方法 // [’@nuxtjs/dotenv’, { fi

千年板蓝根 2913

dotenv-webpack:一个安全的webpack插件,支持dotenv和其他环境变量,并且仅公开您选择和使用的内容

一个安全的webpack插件,支持dotenv和其他环境变量,并且仅公开您选择和使用的内容。 dotenv-webpack 安装 将软件包本地包含在您的存储库中。 npm install dotenv-webpack --save-dev 描述 dotenv-webpack包装dotenv和Webpack.DefinePlugin 。 这样,它将文本替换为process.env所有实例的结果包中。 您的.env文件可以包含敏感信息。 因此, dotenv-webpack只会将在您的代码中显式引用的环境变量公开给最终的包。 用法 无需任何配置即可安装该插件。 安装完成后,您可以像使用dot

HALCON深度学习模型部署新选择:一份详细的OpenVINO 2021.4 LTS集成与配置避坑指南

本文详细介绍了如何将HALCON深度学习模型与OpenVINO 2021.4 LTS集成,提供环境配置、硬件加速优化及故障排除的实用指南。特别针对Intel独立显卡的AI加速器接口进行优化,帮助机器视觉工程师提升AI推理效率,适用于工业检测等高要求场景。

weixin_42531779的博客 234

前端(React、Vue)多环境配置

在一个正常的迭代周期内,一般会经历开发、测试、生产3个阶段,每个阶段都需要一个独立的环境,再加上某些特殊需求需要增多几个环境(如嵌入到其他应用下、迭代有新的阶段),如果没有一个好的多环境管理方案,那么就会出现代码强耦合、切环境操作复杂等问题...

大灰狼的小绵羊哥哥的博客 2287

周志华《机器学习》课程系列笔记——目录导航页

最近自学机器学习课程,注意到了南京大学周志华老师的课程。我是在学堂在线平台观看的,注意到b站上也有相应视频,但b站上并未获得授权,随时有消失的可能。周志华老师的网络教学视频中,与其西瓜书相比确实少了一些内容。但幸运的是,缺失的内容实际上对于初学者来说并不会产生太大影响。目前这一笔记也遵循视频内容,相比西瓜书中也会有一些缺失,敬请谅解。可能以后如果有机会和时间,我会再阅读周志华老师的书籍将缺失内容补全。一切内容敬请关注我的个人Page页面。

Sinocifengs的博客 1675

GetQzonehistory 完整指南:QQ空间历史说说备份到Excel

GetQzonehistory 是一款免费的开源工具,专门做 QQ空间备份:把你发布过的所有历史说说、转发、留言连同图片一起抓下来,存成本地 Excel 和图片文件夹。空间网页版一直在改版,早年翻不到、图片变灰的老内容,随时可能彻底消失。花几分钟跑一次备份,几年前的数字记忆就攥回自己手里了。 ## 先看看你能拿到什么 - **说说全量抓取**:从最近一条翻到最早一条,可见且未删除的历史说说全部

gitblog_00984的博客 391

光伏发电系统模拟及其发电预测开源python工具pvlib

本文介绍光伏发电系统模拟及其发电预测开源python工具pvlib,以及举例介绍获取辐照度方法、光伏发电预测思路。

肖永威的专栏 1万+

c语言国际象棋(easyx图形库)

c语言实现的国际象棋,先放源码,有空再更 所有图形资源均来源于网络,侵删 #include <graphics.h> #include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> #include <time.h> #define HEIGHT 800 #define WIDTH 1100 #define SIZE 100 #define true.

Betelgeuse13的博客 1909

vue项目env文件的使用(vue cli2和vue cli3)

在 Vue CLI 2 中,需要安装 dotenv 包来加载和使用环境变量。:首先安装 dotenv 包:在项目的根目录下创建一个 .env 文件,并在其中定义你的环境变量。:现在你可以在代码中使用 process.env.YOUR_ENV_VAR 来访问你在 .env 文件中定义的环境变量。

Hi_MrXiao的博客 1237

深入解析音频信号处理的核心算法——傅里叶变换、语音增强、回声消除与主动降噪

本文系统介绍了现代音频信号处理的核心技术。首先阐述傅里叶变换作为理论基础的重要性,它能将声音分解为频域成分。随后重点分析三大关键技术:语音增强利用谱减法、维纳滤波和深度学习从噪声中提取人声;回声消除采用自适应滤波器消除通话中的回声;主动降噪通过声波干涉原理抵消环境噪声。文章最后指出,这些技术在实际应用中协同工作,形成完整的音频处理链路,共同提升语音质量和听觉体验。随着算法进步和算力提升,音频处理技术正向着更智能、更高效的方向发展。

程序猿老樊的博客 1317

Webpack中的环境变量管理:gh_mirrors/we/webpack的dotenv集成

在现代前端工程化构建流程中,环境变量(Environment Variables)是实现多环境配置分离的核心机制。尤其对于基于Webpack的Vue.js项目(如`gh_mirrors/we/webpack`),合理的环境变量管理能够解决开发、测试、生产环境间的配置冲突,提升部署效率。本文将系统讲解该项目中环境变量的设计架构、dotenv集成实践及最佳实践指南。 ## 环境变量的工程化价值 前...

gitblog_00050的博客 349

遥感大模型的深度学习从CNN到Vision Transformer以及混合架构的演进之路

深度学习,特别是以卷积神经网络(CNN)和Transformer为代表的“大模型”技术,正以其强大的表征学习能力,深刻地重塑着遥感智能解译的整个技术栈与认知范式。本文将系统性地梳理遥感大模型从局部卷积的奠基,到全局注意力的革命,再到二者融合的混合架构演进这一波澜壮阔的历程。我们将深入剖析每个阶段的核心技术原理,结合遥感数据特性与实际应用案例,详细阐述其在分类、检测、分割等核心任务中的具体应用。

panshengwu的博客 1134

人形机器人新产品导入(NPI)工艺工程师的角色与技术解析

本文系统解析人形机器人NPI工程师的核心职责与能力要求。主要内容包括:1)NPI工程师需主导装配工艺设计、样品试做及问题闭环,涉及公差分析(如尺寸链计算)、工艺评审与FMEA应用;2)要求输出完整工艺文档体系,并跟踪试产至量产全过程;3)任职资格强调3年以上机器人/智能制造行业经验,掌握SPC、公差计算等质量工具,熟悉点胶/焊接等工艺及特殊材料特性;4)通过实际案例展示关节精度优化、新物料验证等典型工作场景;5)提供基于职责的面试问题及技术性解答方案。文章聚焦技术细节,为从业者提供实用参考框架。

郑伟强dev的专栏 371

dotenv在JavaScript中的完整指南:从入门到企业级最佳实践

摘要: 环境变量是现代应用开发中管理配置的关键工具,通过dotenv库可将配置信息存储在.env文件中,实现代码与配置分离。dotenv将.env文件中的键值对加载到Node.js的process.env对象,提供安全性(避免敏感信息泄露)、灵活性(适配不同环境)和可维护性(集中管理配置)。基础用法包括安装dotenv、创建.env文件并通过require('dotenv').config()加载。进阶实践涉及多环境配置(如.env.development和.env.production)和构建工具集成(W

duduanwang的博客 991

UG NX二次开发基础篇-外部模式与DLL内部模式(二 DLL内部模式)

通常情况下,我们希望我们的外挂,在UG启动的时候,就自动加载我们的外挂,并以菜单和工具条的方式,显示在UG上面。当然,这也是市面上所有外挂的操作,因为您不可能要求你的用户,以手工加载的方式,去调用你的外挂吧。在上一篇中,有粉丝留言说,启动 bat 文件,启动EXE外挂,会提示无法找到DLL的错误,这是因为UG的环境变量设置有问题,这里,我们把BAT文件作一个修改,直接改为实际目录。EXE外部模式,还有很多部分需要添加的,如参数的传递、输出消息的显示、UG操作的消息显示,等等。Dll执行结束后,会调用。

u014657217的博客 1645

我不知道的你知道吗?Vue的多项目配置详解

在开发过程中,可能会遇到这样一种情况:我们需要用同一个Vue项目支持多个不同的项目,且这些项目之间的区别主要体现在不同的 logo、项目名称、接口 IP 地址等。因此,我们希望通过配置文件的方式,来根据不同的需求动态改变项目的展示内容、请求接口地址等信息,达到复用项目代码的目的。为了支持不同的配置文件动态切换,我们需要在 Webpack 中做一些配置,允许我们根据不同的环境变量加载不同的配置文件。为了方便管理,我们需要创建一个通用的配置文件,并根据不同的环境动态加载相应的配置。动态调整接口请求的地址。

百锦再的博客 3516

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

vue2 vue3项目怎么使用 .env 文件配置环境变量

VUE_APP_ 开头的环境变量 Vue CLI 会将他们注入到你的Vue代码中,反之则需要下载一个插件配合使用。Vite 会根据当前的构建模式(开发模式或生产模式)加载相应的。为前缀的环境变量注入到应用中。文件,它将用于存放默认的环境变量。文件,这个文件通常包含一些环境变量。首先,你需要在项目根目录下创建。文件来配置不同的环境。

qq_73054696的博客 833

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

前端代码多环境打包

在通过node编译打包代码的时候,通常会用到 process.env ,他和我们的配置文件息息相关,在开发的过程中往往用它来判断环境,接口,版本等。以下是我对 process.env 环境变量的一些见解,有些术语可能不够准确,欢迎指正。 我的操作环境: Windows 10 专业版 node V8.5.0 npm V5.3.0 命令行工具 cmder 1. process.env 获...

wenjayLiu的博客 2793

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: uniapp子组件弹框隐藏显示
下一篇: Java定时任务 ScheduledThreadPoolExecutor
煮酒泛舟
博客等级 码龄13年 12粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值