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

# vite + vue3 实现打包后 dist 文件夹可以直接打开 html 文件预览

vite + vue3 实现打包后 dist 文件夹可以直接打开 html 文件预览

问题

为什么突然写这么一篇文章,首先,自己用vite+vue写了点静态页面,需要给客户看页面效果,但是我打包之后将 dist 发送给客户后,客户没有通过nginx等三方服务部署,直接打开html文件页面是空白的。

在这里插入图片描述

双击打开效果:

在这里插入图片描述

控制台直接爆出了问题。

解决

一半这种情况下,有两种解决方法,

  • 第一种就是通过第三方服务部署一下,比如nginx
  • 第二种就是把自己的浏览器安全策略关了,但是别人还是打不开。

接下来说第三种嗷!!!

他报错不是因为 index.html 调用其他文件出的问题嘛,那就把所有的 jscss 、甚至图片全部打包进 index.html 不就可以啦嘛!

步骤

第一步,修改路由

首先将路由改成hash模式:

在这里插入图片描述

代码我也贴一下哈:

// 创建路由实例,使用hash模式
const router = createRouter({history: createWebHashHistory(), // 使用hash模式routes
})

第二步,修改打包配置

这个要修改 vite.config.js 文件, 在 export default defineConfig 中添加下面这段,我也不知道啥意思,照着抄就行:

  base: './', build: {assetsDir: '', rollupOptions: {output: {manualChunks: undefined, entryFileNames: 'index.js',assetFileNames: '[name].[ext]'}},polyfillModulePreload: false},

第三步,将项目中的绝对路径改成相对路径

比如下面我这样:

在这里插入图片描述

不过说实在话,在实际开发,也很少设置绝对路径吧?

第四步,安装一个插件 vite-plugin-singlefile

下面是我安装的版本:

在这里插入图片描述

这个插件是干嘛用的哈。vite-plugin-singlefile是一个 Vite 构建插件,它的主要作用是将所有的 JavaScriptCSS 资源直接内联到最终的dist/index.html文件中, 把整个 Web 应用嵌入并分发为一个单一的 HTML 文件。

安装完成后需要在vite.config.js 文件中使用:

在这里插入图片描述

贴一下代码哈:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import { viteSingleFile } from 'vite-plugin-singlefile'export default defineConfig({plugins: [vue(), viteSingleFile()],// ....})

完成!然后直接npm run build 打包!!

如果顺利的话,打包完成之后,就只有一个 index.html 文件。

看!

在这里插入图片描述

打完包只有一个html文件,而且贼大!因为数据都塞这里面了,就不需要读取其他文件而产生错误了!

当然 vite.svg 是因为塞不进去这个格式好像。

双击index.html是可以直接在浏览器打开的哟!

好了!就到这儿。希望对大家有点用处!

http://www.zskr.cn/news/11981.html

相关文章:

  • adb.exe: more than one device/emulator 杀掉旧的adb进程
  • Codeforces Round 1054 (Div. 3)
  • 【System Beats!】第三章 程序的机器级表示
  • 做题记录3
  • 2025年9月训练记录
  • 20250925 之所思 - 人生如梦
  • 在CodeBolcks下wxSmith的C++编程教程——在屏幕上绘图和保存绘图
  • 25.9.25
  • 每日博客(补)
  • 算法作业
  • C#学习3
  • 9-26
  • 2025.9.25总结 - A
  • Python建立ETF网格自动化交易集成动量阈值判断
  • 一文读懂Zookeeper与Kafka:从原理到实战部署 - 实践
  • Java 生态监控体系实战:Prometheus+Grafana+SkyWalking 整合全指南(三) - 教程
  • AC自动机在线版本(alert命中报警)
  • US$79 BMW FEM/BDC Key Programmer Data Desktop Test Platform for FEM/BDC Key and Program ECU Gearbox
  • (南科大深度学习课程笔记)Lecture_2_Mathematical background(数学背景)(上) - 详解
  • 页面卡顿问题分析与解决方案总结复盘
  • 实用指南:【FastMCP】中间件
  • Linux网络:运用UDP实现网络通信(网络套接字的创建绑定)
  • 常见进制
  • 大 LCP 时代(stupid.*)
  • 实用指南:Python实现手榴弹爆炸算法(Grenade Explosion Method, GEM)(附完整代码)
  • yolov10_float16.tflite TO yolov10_int8.tflite
  • Netty:完成RPC服务(实战)
  • 相交链表-leetcode
  • SQL Server从入门到项目实践(超值版)读书笔记 26 - 实践
  • 2025.9.25 sos dp小记