vue3 部署后修改配置文件

news2024/10/6 6:05:32

 前端项目部署之后,运维可以自行修改配置文件里的接口IP,达到无需再次打包就可以使用的效果

   vue2如何修改请看vue 部署后修改配置文件(接口IP)_vue部署后修改配置文件-CSDN博客

使用前提:

   vite搭建的vue3项目 使用setup语法

需要借助一个插件生成配置文件

npm i vite-plugin-generate-file

env配置

 如何配置查看vue .env配置环境变量_如何使用.env.development中定义的变量-CSDN博客

 

vite.config.js配置

import { fileURLToPath, URL } from 'node:url'
import { defineConfig,loadEnv  } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createHtmlPlugin } from "vite-plugin-html";
import generateFile from 'vite-plugin-generate-file'

//读取所有当前环境的env
const getViteEnv = (mode, target) => {
  if(target==''){
    return loadEnv(mode, process.cwd());
  }else{
    return loadEnv(mode, process.cwd())[target];
  }
 
 };
 
// https://vitejs.dev/config/
export default   (res=> defineConfig({

  base: "", //等同于  assetsPublicPath :'./'
  plugins: [
    vue(),
    //修改网页的标题
    createHtmlPlugin({
      inject: {
        data: {
          title: getViteEnv(res.mode, "VITE_APP_Title"),
        },
      },
    }),
   //配置输出文件类型和内容
    generateFile([{
      type: 'json',
      output: './config.json',
      data:{
        _hash:new Date().getTime(),
        ...getViteEnv(res.mode, '')
      }
    }])
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  build: {
    terserOptions: {
      compress: {
        keep_infinity: true,
        drop_console: true,
        drop_debugger: true,
      },
    },
    brotliSize: false,
    sourcemap: false,
    //分别打包
    rollupOptions: {
      output: {
        assetFileNames: assetInfo => {
          var info = assetInfo.name.split('.')
          var extType = info[info.length - 1]
          if (
            /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/i.test(assetInfo.name)
          ) {
            extType = 'media'
          } else if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(assetInfo.name)) {
            extType = 'img'
          } else if (/\.(woff2?|eot|ttf|otf)(\?.*)?$/i.test(assetInfo.name)) {
            extType = 'fonts'
          }
          return `${extType}/[name]-[hash][extname]`
        },
        chunkFileNames: 'js/[name]-[hash].js',
        entryFileNames: 'js/[name]-[hash].js'
      }
    }
  },
})
)

读取配置:

<script setup>
import { onMounted } from "vue";
import { Empty} from "vant"
import axios from 'axios'

onMounted(() => {
  getuserInfo()
});


function getuserInfo(){
  axios({
    method: 'get',
    url: document.location.protocol +'//'+ window.location.host+window.location.pathname+'config.json',
  }).then(res=>{
    console.log('读取配置',res.data);
    
  })
 
}

</script>

<template>
  <div>
   <Empty description="读取用户信息中,请稍后..."></Empty>
  </div>
</template>


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

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

相关文章

如何提高运放的输出电流驱动能力

复合放大器的稳定性考虑因素 辅助运算放大器通常放置在主运算放大器的反馈环路内部&#xff0c;如图 1(a) 所示。次级器件引入的相位滞后往往会侵蚀复合放大器的 相位裕度? m &#xff0c;因此我们可能必须采取适当的频率补偿措施。 复合放大器的开环增益 ac 和噪声增益 1/β…

AI绘画整合包最新Stable Diffusion安装包+教程+模型+插件+动作来了(纯教学)

首先了解一下AI绘画工具&#xff0c;介绍一下什么是Stable Diffusion&#xff0c;模型的主要功能和作用 Stable Diffusion&#xff08;简称SD&#xff09;&#xff0c;是一种先进的人工智能技术。这项技术的核心能力在于&#xff0c;它能够根据用户提供的文字描述&#xff0c;…

Apple Developer 个人开发者账号申请流程

Apple Developer 个人开发者账号申请流程 开发者账号类型功能介绍 公司、政府的需要邓白氏码比较复杂 分五个步骤进行 1、注册苹果账号apple id 2、开启双重认证 3、下载Apple Developer应用 4、到Apple Developer应用填写申请资料 5、绑定支付宝或者微信支付苹果年费688 一…

go语言方法之方法声明

从我们的理解来讲&#xff0c;一个对象其实也就是一个简单的赋值或者一个变量&#xff0c;在这个对象中会包含一些方法&#xff0c;而一个方法则是一个一个和特殊类型关联的函数。一个面向对象的程序会用方法来表达其属性和对应的操作&#xff0c;这样使用这个对象的用户就不需…

《精通Stable Diffusion AI绘画:基础技巧、实战案例与海量资源一站式学习》

随着人工智能技术的迅猛发展&#xff0c;AI绘画已经成为了一个炙手可热的话题。特别是在设计、艺术和创意领域&#xff0c;AI绘画工具的出现无疑为创作者们带来了更多的可能性和便利。《Stable Diffusion AI绘画从提示词到模型出图》这本书&#xff0c;就是一本深入解析Stable …

web自动化的断言和日志封装

断言 UI自动化常见的断言条件包括&#xff1a; 通过当前页面的URL地址通过当前页面的标题通过当前页面的提示文本信息通过当前页面的某些元素变化/显示 一句话总结&#xff1a;通过肉眼观察页面的变化检查。 【用代码模仿人的识别页面】 一般断言写一条就够了&#xff0c;如…

AI大模型实现德语口语练习

利用AI大模型实现德语口语练习的应用需要整合多种技术和资源&#xff0c;以确保学生能够获得全面、互动和有效的学习体验。以下是实现德语口语练习应用的详细流程和技术要点。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 实现流程 …

latex中复制到word里面之后如何转变成word自带的公式

详细步骤如下&#xff1a; 第一步&#xff0c;将latex中的公式复制到word里面&#xff0c;例如&#xff1a;$r_1^d$ 第二步&#xff0c;选中$$里面的部分&#xff0c;也就是去掉$$&#xff0c;选中剩余的部分&#xff0c;例如&#xff1a;r_1^d 第三步&#xff0c;word工具栏里…

【招聘】易基因科技诚聘销售总监 虚位以待

&#x1f680; 关于我们 易基因拥有一支充满活力的科研服务团队&#xff0c;致力于以“引领表观遗传学科学研究与临床应用”为愿景&#xff0c;依托高通量测序技术和云数据分析平台&#xff0c;为医疗机构、科研机构、企事业单位等提供以表观遗传学技术为核心的多组学科研服务…

【高阶数据结构(七)】B+树, 索引原理讲解

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:高阶数据结构专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多数据结构   &#x1f51d;&#x1f51d; 高阶数据结构 1. 前言2. B树讲解…

3070ti和4060ti哪个好

GeForce RTX 3070 Ti和RTX 4060 Ti主要在显存类型、运行频率和性能表现等方面有所区别。具体分析如下&#xff1a; 显存类型 GeForce RTX 3070 Ti&#xff1a;搭载了8GB GDDR6X显存&#xff0c;显存速度为19Gbps&#xff0c;显存位宽为256 bit。GeForce RTX 4060 Ti&#xff1…

Apache Doris 基础 -- 数据表设计(数据模型)

Versions: 2.1 1、模型概览 本主题从逻辑角度介绍了Doris中的数据模型&#xff0c;以便您可以在不同的业务场景中更好地使用Doris。 基本概念 本文主要从逻辑的角度描述Doris的数据模型&#xff0c;旨在帮助用户在不同的场景更好地利用Doris。 在Doris中&#xff0c;数据在…

【STL】C++ list 基本使用

目录 一 list 常见构造 1 空容器构造函数&#xff08;默认构造函数&#xff09; 2 Fill 构造函数 3 Range 构造函数 4 拷贝构造函数 二 list迭代器 1 begin && end 2 rbegin && rend 三 list 容量操作 四 list 修改操作 1 assign 2 push_front &a…

【RuoYi】如何启动RuoYi项目

一、前言 最近&#xff0c;在做一个管理系统的项目&#xff0c;接触到了RuoYi这个前后端分离的框架&#xff0c;自己是第一次接触这个框架&#xff0c;所以刚开始有点好奇&#xff0c;在用该框架写了一些代码后。发现RuoYi这个框架做的真的好&#xff0c;它包含了权限管理和一些…

Petalinux 制作ZYNQ镜像文件流程

1概述 在Zynq-7000 SoC中搭建运行Linux&#xff0c;嵌入式软件栈。 处理器系统引导是一个分两个阶段的过程。第一个阶段是一个内部 BootROM&#xff0c;它存储 stage-0 的引导代码。BootROM 在 CPU 0 上执行&#xff0c;CPU 1 执行等待事件&#xff08;WFE&#xff09;指令。…

WordPress|子比主题美化-给首页左侧添加联系站长按钮

WordPress子比主题美化-给首页左侧添加联系站长按钮 5ccy.cn 我创创业-副业资源整合网-网络赚钱-网络创业-资源分享 http://5ccy.cn 效果如下: 功能介绍 联系站长图标的作用主要是为用户提供一种便捷的方式&#xff0c;以与网站的管理员或站长取得联系。这个图标一般放置在网…

cocos creator做圆形进度条

效果图&#xff1a; 我们在开发过程中经常要用到圆形进度条&#xff0c;例如技能CD 原文链接 之前写了一篇cocos2dx-lua_ProgressTimer创建扇形进度条,这里简单记录下在cocosCreator中如何制作。 具体方法 cocosCreator做起来比2dx还是要简单很多&#xff0c;首先给节点添加p…

Java 类加载机制解密一探到底

类加载是 Java 程序在运行期执行之前的重要环节&#xff0c;它决定着程序的运行效率和稳定性。本文将为您深入剖析 Java 类加载机制的整个生命周期&#xff0c;揭开神秘面纱&#xff0c;让您彻底掌握这一核心知识点。 一、类的生命周期概述 类的生命周期在Java中指的是从类被加…

大疆mic、罗德、西圣无线麦克风怎么选?大疆、西圣麦克风测评对比

如今是一个短视频飞速发展的时代&#xff0c;越来越多自媒体人通过短视频的方式来进行直播带货、生活Vlog、线上K歌等&#xff0c;记录下生活里种种美丽的瞬间。不过一个好的视频除了要有巧妙的构思和清晰稳定的拍摄外&#xff0c;干净的声音也是必不可少的部分。短视频归根结底…

飞控如何和接收机接线?

飞控如何和接收机接线&#xff1f; 一般遥控都是按照顺序1对1接到飞控的INPUT端口。特别注意&#xff0c;华科尔的接收机&#xff0c;需要把1和2通道条换过来。 具体方法如下&#xff1a; 下面以MC6遥控接收机为例子&#xff1a; 用下面的图的接收机连接线来演示&#xff1a…