当前位置: 首页 > news >正文

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

 

目录

开始

修改资源相对地址

引入 @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 {@Beanfun corsFilter(): CorsFilter {val  config = CorsConfiguration();config.allowedMethods = listOf("GET", "POST", "PUT", "DELETE");// 支持请求方式config.addAllowedOriginPattern("*");// 支持跨域config.allowCredentials = true;// cookieconfig.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 即可

相关文章:

  • Python第二语言(八、Python包)
  • 解决富文本中抖音视频无法播放的问题——403
  • HTML静态网页成品作业(HTML+CSS)—— 非遗皮影戏介绍网页(6个页面)
  • 后端启动项目端口冲突问题解决
  • 【随手记】maplotlib.use函数设置图像的呈现方式
  • Android FirebaseApp.initializeApp(this)无法初始化
  • 璨与序列 题解(stl,dfs)
  • 【Python入门与进阶】Python如何处理不同进制的数据
  • Spring Cloud Bus 消息总线基础入门与实践总结
  • 数字化那点事:一文读懂智慧城市
  • CATIA P3 V5-6R 中文版软件下载安装 达索CATIA三维设计软件获取
  • Vitis HLS 学习笔记--移除内存分配malloc
  • 活久见!谁想的这种办法让大模型PK
  • 最新下载:Paragon NTFS for Mac 15【软件附加安装教程】
  • RK3588开发笔记-100M网口自协商成1000M网口
  • Android Volley源码解析
  • Babel配置的不完全指南
  • CSS相对定位
  • GitUp, 你不可错过的秀外慧中的git工具
  • Git同步原始仓库到Fork仓库中
  • GraphQL学习过程应该是这样的
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JS基础之数据类型、对象、原型、原型链、继承
  • Koa2 之文件上传下载
  • Less 日常用法
  • Object.assign方法不能实现深复制
  • PAT A1092
  • PHP的类修饰符与访问修饰符
  • React-生命周期杂记
  • Redis学习笔记 - pipline(流水线、管道)
  • Shadow DOM 内部构造及如何构建独立组件
  • socket.io+express实现聊天室的思考(三)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue-loader 源码解析系列之 selector
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 前端之React实战:创建跨平台的项目架构
  • 嵌入式文件系统
  • 如何学习JavaEE,项目又该如何做?
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 使用putty远程连接linux
  • 小程序 setData 学问多
  • 一个完整Java Web项目背后的密码
  • - 转 Ext2.0 form使用实例
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (2.2w字)前端单元测试之Jest详解篇
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (ZT)出版业改革:该死的死,该生的生
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442