vuecli2关于下载本地取环境变量没问题部署后路径取不到环境变量问题解决

news2024/11/7 5:35:01

功能

下载功能,用a标签实现下载

在这里插入图片描述

代码错误思路分析 解决办法可以忽略直接看下面 解决思路

在这里插入图片描述

在每个config文件中都定义了file_url,本地运行没有问题,但是部署到服务器开发环境, 拿到的是生产环境的FILE_URL地址

首先看了流水线-构建配置-编译配置-编译脚本里的打包命令: ** 本来是没有dev后缀,我给加上了 **在这里插入图片描述

然后看项目文件里,package.json文件,他的打包设置, 是执行build下build.js文件

在这里插入图片描述

webpack.prod.conf.js 配置文件是webpack生产环境核心配置文件。

在这里插入图片描述

因为上面直接写死了 环境变量 production 所以下面只能取prod.env文件中的环境变量,也就是 造成了开发环境下载的 FILE_URL=生产环境的FILE_URL

在这里插入图片描述

改动思路

  1. 安装依赖:cross-env 是运行跨平台设置和使用环境变量的脚本,使用cross-env解决跨平台设置环境变量的问题

npm i --save-dev cross-env

  1. 修改项目package.json文件

如果需要设置多个环境,那么需要先修改 package.json ,创建所需环境的运行脚本

build命令都是新建的打包命令

通过 cross-env 插件,运行跨平台设置,和 使用不同的环境变量,
** NODE_ENV 、ENV_CONFIG ** 都属于环境变量
** NODE_ENV=xxx 、ENV_CONFIG=xxx ** 设置 webpack 打包时的 NODE_ENV、 ENV_CONFIG 环境变量,可以通过这些环境变量去对系统代码做一些权限操作之类的
因为流水线配置的时候, 容器设置的都是production,所以我设置的 NODE_ENV=production , 用 ENV_CONFIG 区分不同环境
在这里插入图片描述

  1. 我的理解是,运行脚本的时候,会自动找到脚本的运行环境,也就是下面一步添加的脚本文件,然后将脚本文件内部的环境变量打包到项目中,最后启动项目,所以,项目中最终使用的环境变量,其实是下面配置的脚本文件中 设置的环境变量

修改项目config配置文件
添加了不同环境的运行脚本,对应的,也需要修改不同环境脚本运行的配置文件。这里的环境变量
① dev.env.js
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 找到 build.js文件
    在这里插入图片描述
  2. 找到下面这个文件
    在这里插入图片描述
  3. 根据ENV_CONFIG找到不同的环境变量 FILE_URL
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1114992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

澎湃OS上线:小米告别MIUI,跟小米汽车Say Hi

作者 | Amy 编辑 | 德新 10月17日,雷军发博官宣,「小米将启用全新操作系统,小米澎湃OS(Xiaomi HyperOS)」。 短短几百字的微博,数次提到了「小米汽车」: 小米向人车家全生态迈进,…

Kotlin笔记(六):泛型的高级特性

前面学习了Kotlin中的泛型的基本用法,跟Java中的泛型大致相同,Kotlin在泛型方面还提供了不少特有的功能,掌握了这些功能,你将可以更好玩转Kotlin,同时还能实现一些不可思议的语法特性,那么我们自然不能错过这部分内容了…

“30岁现象”揭示职场困境:职业瓶颈还是发展停滞?出路在何处?

“30岁现象”是指在职场上,30岁左右的员工面临一系列挑战和困境的一种现象。 以下是一些表现: 首先,许多30岁左右的员工会遭遇职业瓶颈,他们可能发现自己在职业发展上遇到了阻碍,难以再进一步。这可能是由于自身能力…

Spring Security基本认证(2)

前言: 对于安全管理框架而言,认证功能可以说是一切的起点,所以我们要研究Spring Security, 就要从最基本的认证开始。在Spring Security中,对认证功能做了大量的封装,以至于开发者只需要稍微配置一下就能使用认证功能&…

VBA_MF系列技术资料1-207

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-04属于定…

TCP通信实战:模拟BS系统

1、之前的客户端都是什么样的 其实就是CS架构,客户端是需要我们自己开发实现的 2、BS结构是什么样的,需要开发客户端吗? 浏览器访问服务端,不需要开发客户端 注意:服务端必须给浏览器响应HTTP协议格式的数据&#xff0…

CNN——卷积神经网络

文章目录 多层感知机(MLP,Multilayer Perceptron)神经网络定义MLP与神经网络的异同相同之处:不同之处:总结 为什么要使用神经网络CNN卷积层:池化层:全连接层: 卷积神经网络的优势pad…

Java持久层框架:MyBatis介绍

MyBatis 概述 概述 MyBatis,是支持定制化 SQL 、存储过程和高级映射的优秀持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain …

NVIDIA NCCL 源码学习(十一)- ring allreduce

之前的章节里我们看到了nccl send/recv通信的过程,本节我们以ring allreduce为例看下集合通信的过程。整体执行流程和send/recv很像,所以对于相似的流程只做简单介绍,主要介绍ring allreduce自己特有内容。 单机 搜索ring 在nccl初始化的过…

一道看似简单却易错的C语言的main函数的参数题目(海康威视的面试题)

一道海康的面试题,C语言的main函数有几个参数(多选) A:argc B:envp C:main D:argv 正确答案是:ABD 一般情况下,我们会认为是只有两个参数,因为从我们从第一…

JAVA栈、堆、方法区

一、什么是JAVA栈、堆、方法区 我们java程序的运行首先会先将.java的文件编译成.class文件,然后由JVM虚拟机的类加载器加载各个类的字节码文件到内存中进行执行,JVM虚拟机将这些数据加载到内存时会对内存进行划分为几个区域分别为栈、堆和方法区&#xf…

vue 02

目录简介 什么是渐进式框架? 就是一开始不需要你完全掌握它的全部功能特性,可以后续逐步增加功能。没有多做职责之外的事情。所以VUE的适用面很广,你可以用它代替老项目中的JQuery。也可以在新项目启动初期,有限的使用VUE的功能…

LLM ReAct: 将推理和行为相结合的通用范式 学习记录

LLM ReAct 什么是ReAct? LLM ReAct 是一种将推理和行为相结合的通用范式,可以让大型语言模型(LLM)根据逻辑推理(Reason),构建完整系列行动(Act),从而达成期望目标。LLM ReAct 可以应用于多种语言和决策任务,例如问答、事实验证、交互式决策等,提高了 LLM 的效率、…

论文导读 | 多模态知识图谱的构建

背景介绍 现有的知识图谱大多是以单一的文本的形式表示,而多模态知识图谱会将文本信息和图像等其他模态的信息综合起来。 多模态知识图谱主要分为两种表现形式,其一是将多模态信息作为实体的属性,另一种是将多模态信息作为单独的实体。 多…

uniapp接入萤石微信小程序插件

萤石官方提供了一些适用于uniapp / 小程序的方案 如 小程序半屏 hls rtmp 等 都TM有坑 文档写的依托答辩 本文参考了uniapp小程序插件 以及 萤石微信小程序插件接入文档 效果如下 1. 插件申请 登录您的小程序微信公众平台,点击左侧菜单栏,进入设置页…

QTday04(事件)

今日任务 代码&#xff1a; 头文件&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimerEvent> #include <QTime> #include <QTimer> #include <QMessageBox> #include <QTextToSpeech> #include <QD…

利用特殊反序列化组件攻击原生反序列化入口

目录 前言 本文所述攻击的本质是将上述组件中的类拼接到反序列化利用利用链中&#xff0c;打的是Serilizable入口&#xff0c;而不是特殊反序列化入口 攻击原理 利用链分析 readObject()->任意类toString() HotSwappableTargetSource & XString BadAttributeValue…

数据防泄密软件排行榜

数字化时代&#xff0c;数据已成为企业的重要资产。然而&#xff0c;数据泄露事件却时常发生&#xff0c;给企业带来巨大的经济损失和声誉风险。因此&#xff0c;数据防泄密软件的重要性日益凸显。 数据防泄密软件是什么 它是一种专门用于防止敏感数据泄露的软件工具。它通过对…

Java虚拟机常见面试题总结

梳理Java虚拟机相关的面试题&#xff0c;主要参考《深入理解Java虚拟机 JVM高级特性与最佳实践》(第2版, 周志明 著)一书&#xff0c;其余部分整合网络相关内容。注意&#xff0c;关于Java并发编程的面试题因为内容较多&#xff0c;单独整理。Java基础相关的面试题可以参考Java…