Vite - 项目打包从 0 到 1(完美解决打包后访问白屏问题)

news2025/1/10 22:24:03

 

目录

开始

修改资源相对地址

引入 @vitejs/plugin-legacy 插件并配置

修改打包指令

修改 router 中的 history

前端配置跨域相关

打包后成功访问


开始


修改资源相对地址

在 vite.config.js 文件中配置如下:

export default defineConfig({
  base: './', //1.打包专用
  //...
})

 

引入 @vitejs/plugin-legacy 插件并配置

在 vite.config.js 文件中配置如下:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import legacy from '@vitejs/plugin-legacy';

export default defineConfig({
  base: './', //1.打包专用
  plugins: [
    vue(),
    legacy({ //2.打包专用
      targets: ["ie>=11"],
      additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
    })
})

Ps:主要 regenerator-runtime/runtime 在解决跨域警告

修改打包指令

在 package.json 文件中的 scripts 修改 build 命令:

  "scripts": {
    "dev": "vite",
    "build": "vite build && node toFile.mjs", //"build": "vite build"
    "preview": "vite preview"
  },

修改 router 中的 history

在自定义配置的 router.js 中,配置 HashHistory (其他的不行!!!)如下:

前端配置跨域相关

前端不要自己配置 server {proxy ...} !!!,否则会和上面配置冲突!!!

在后端配置好跨域就行,如下:

@SpringBootApplication(scanBasePackages = ["org.cyk"])
class WarehouseApplication {

    @Bean
    fun corsFilter(): CorsFilter {
        val  config = CorsConfiguration();
        config.allowedMethods = listOf("GET", "POST", "PUT", "DELETE");// 支持请求方式
        config.addAllowedOriginPattern("*");// 支持跨域
        config.allowCredentials = true;// cookie
        config.addAllowedHeader("*");// 允许请求头信息
        config.addExposedHeader("*");// 暴露的头部信息

        val source = UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);// 添加地址映射
        return CorsFilter(source);
    }

}

fun main(args: Array<String>) {
    runApplication<WarehouseApplication>(*args)
}

 

打包后成功访问

使用 npm run build 命令打包,直接访问 dist/index.html 即可

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

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

相关文章

重复文件怎么查找并清理?6种重复文件清理方法亲测好用!

重复文件怎么查找并清理&#xff1f;重复的文件会占用计算机中不必要的空间&#xff0c;从而降低计算机速度。这些文件是您设备上现有文件的副本。您可能有照片、视频、音频、档案、文档等的文件副本。因此&#xff0c;当电脑被这些文件占用运行速度时&#xff0c;你会迫切地希…

阻抗控制(Impedance Control)和导纳控制(Admittance Control)例子

阻抗控制(Impedance Control)和导纳控制(Admittance Control) 是两种用于机械臂或机器人交互控制的策略。阻抗控制定义的是机器人端部的力和位置之间的关系,而导纳控制则定义的是外力和运动之间的关系。导纳控制常用于处理机器人与环境交互中的力控制问题。 适用场景对比…

在项目中使用Volta控制node版本

在项目中使用Volta控制node版本 前端的技术很多年前就已经是井喷的状态了&#xff0c;基本每一年都有技术的迭代&#xff0c;而node作为前端基石之一也是一年一个样&#xff0c;这就导致了不同年代的版本使用不同的项目会经常出问题&#xff0c;高版本的node无法用于老的项目。…

PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)复现

PHP CGI Windows平台远程代码执行漏洞&#xff08;CVE-2024-4577&#xff09;复现 1.漏洞描述&#xff1a; PHP&#xff08;Hypertext Preprocessor&#xff0c;超文本预处理器&#xff09;是一种广泛使用的开源脚本语言&#xff0c;主要用于Web开发&#xff0c;用于生成动态…

第五十一天 | 1143.最长公共子序列

题目&#xff1a;1143.最长公共子序列718.最长重复子数组的区别是&#xff0c;子序列不要求连续&#xff0c;子数组要求连续。这一差异体现在dp数组含义和递推公式中&#xff0c;本题是子序列&#xff0c;那就要考虑上nums1[i - 1] ! nums2[j - 1]的情况。 本道题与 1.dp数组…

JavaSE----类和对象(中)

5. 对象的构造及初始化 5.1 如何初始化对象 通过前面知识点的学习知道&#xff0c;在Java方法内部定义一个局部变量时&#xff0c;必须要初始化&#xff0c;否则会编译失败。 public static void main(String[] args) {int a;System.out.println(a); }// Error:(26, 28) jav…

案例 | JIMUMETA元宇宙体验馆,助力品牌打开营销新思路!

视创云展作为行业领先的3D数字化场景营销平台&#xff0c;专注于帮助企业迅速构建集多样化营销活动于一体的元宇宙空间。 通过整合虚拟展厅、数字人互动、音视频通话以及弹幕聊天等创新功能&#xff0c;我们为企业打造极具沉浸感的体验环境&#xff0c;并提供高效的线上营销手段…

ISCC2024 winterbegins

首先&#xff0c;用IDA打开程序&#xff0c;看到一大堆while(1)又套着while(1)的结构&#xff0c;肯定是控制流平坦化了&#xff0c;我们可以使用IDA插件d810去掉。 现在程序就好看多了。如果IDA没有显示这堆中文字符串&#xff0c;可以考虑使用IDA8.3&#xff0c;就可以显示…

【记录】ChatGLM3-6B大模型部署、微调(一):部署

ChatGLM3介绍 源码连接&#xff1a; ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xf…

江协科技51单片机学习- p4 点亮一个LED灯

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记&#xff0c;在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用&#xff1a; 51单片机入门教程-2…

安装ENVI 6.0直接打开Landsat L2SP影像

文章目录 前言ENVI 6.0申请安装安装过程检查安装&#xff1a; 直接打开L2SP文件&#xff08;不修改头文件&#xff09;结语 前言 试用软件只是作为学习交流使用&#xff0c;不能应用于商业、发表文章等依据。 前面文章&#xff08;ENVI打不开Landsat 的L2SP影像文件&#xff09…

震坤行亮相2024成都工博会,赋能产业新发

为期3天的成都工博会于2024年4月23日在成都国际会展中心完美落幕。震坤行再次紧跟西部智能制造产业发展步伐&#xff0c;亮相现场&#xff0c;实力“圈粉”&#xff0c;为西部地区的制造企业带来打造了一场工业互联网盛宴。 本届成都工博会成功举办&#xff0c;展会聚集了各个国…

C++ Primer 第五版 第16章 模板与泛型编程

模板是C中泛型编程的基础。一个模板就是一个创建类或函数的蓝图或者说公式。当使用一个vector这样的泛型类型&#xff0c;或者find这样的泛型函数时&#xff0c;我们提供足够的信息&#xff0c;将蓝图转换为特定的类或函数。这种转换发生在编译时。 一、定义模板 1. 函数模板…

OceanBase 并行执行参数 parallel_servers_target 理解

为了最大程度降低 PX 使用难度&#xff0c;OceanBase 3.1 版起&#xff0c;parallel_max_servers 参数废弃。 用户只需用好 parallel_servers_target 即可。 target 的用途 用一个酒吧的例子来粗略理解下 parallel_servers_target 的意思&#xff1a; target 先生开了一个酒…

Epicor BAQ - BAQ设计与调用

目录 一、BAQ设计常用功能1.跨公司查询2.修改作者3.添加筛选条件4.使用BAQ参数5.子查询 二、在客制化中调用BAQ取数三、在BPM中调用BAQ取数四、结束 一、BAQ设计常用功能 1.跨公司查询 在BAQ的General页面勾选Cross-company后&#xff0c;BAQ可以跨公司查询数据。 2.修改作…

联邦学习论文阅读:2018 Federated learning with non-IID data

介绍 这是一篇2018年挂在arXiv上的文章&#xff0c;是一篇针对FL中数据Non-IID的工作。 作者发现&#xff0c;对于高度Non-IID的数据集&#xff0c;FedAvg的准确性下降了55%。 作者提出了可以用权重散度&#xff08;weight divergence&#xff09;来解释这种性能下降&#xff…

基于JSP技术的大学生校园兼职系统

开头语 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;可以通过文末的联系方式找到我。 开发语言 JSP 数据库 MySQL 技术 JSP JavaBeans 工具 MyEclipse、Tomcat、Navicat 系统展示 首页 学生登录界面 招聘信息界面 论坛中心界面 摘…

时间类:Calendar

一.Calendar概述 1.Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年&#xff0c;月&#xff0c;日 2.细节:Calendar是一个抽象类,不能直接创建对象。 二.获取Calendar日历类对象的方法 // 会根据系统的不同时区来获取不同的日历对象 // 会根据系统的不同…

LLM的7种推理框架

我们如何在本地安全地运行私有的LLMs呢&#xff1f;开源模型为此提供了可能的解决方案。本文将介绍七种方法。 Hugging Face的transformers 这是一个Python库&#xff0c;可以简化本地运行LLM的过程。 Transformers的优点&#xff1a; 自动模型下载提供代码片段非常适合实验…

C语言的数据结构:串、数组、广义表

一、串 1、串的定义 串是一个线性表&#xff0c;但其节点中的内容只能为字符&#xff0c;所以也称为字符串。 字符串中可以有多个字符&#xff0c;也可以没有字符。没有字符的叫作&#xff1a;空串。 空串&#xff1a;""。 有值的串&#xff1a;"1123"。 只…