vuetify3+vite,打包后mdi图标无法正常显示,及打包后首页白屏

2024-03-15 18:44

本文主要是介绍vuetify3+vite,打包后mdi图标无法正常显示,及打包后首页白屏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、图标无法正常显示

在这里插入图片描述

【因为我的vite.config.ts配置中使用了vite-plugin-css-injected-by-js这个插件】

为了优化我的项目,我使用了很多插件,vite-plugin-css-injected-by-js就是其中一个,项目本地运行是正常的,但是当我使用uniapp打包成app安装测试,发现图标无法正常显示,而且是针对vuetify中常使用的@mdi/font无法正常显示,我项目中还使用了@iconify/vue图标不受影响正常显示,我估计可能和图标的类型有关,因为每次测试都要打包在模拟器上安装太麻烦了,具体原因就不深究了

解决方式就是不要使用vite-plugin-css-injected-by-js

这是我有问题的的vite.config.ts文件,把vite-plugin-css-injected-by-js去掉,再打包安装图标显示就正常了

//vite.config.tsimport { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'import AutoImport from "unplugin-auto-import/vite";
import AutoComponents from 'unplugin-vue-components/vite'// import viteCompression from 'vite-plugin-compression'//gzip压缩,过小的文件压缩会导致比不压缩还大,因为压缩的时候要写入一个映射字典,反而最后比压缩前还大了。但是这个是Byte层面的,可以忽略不计
import cssInjectedByJsPlugin from 'vite-plugin-css-injected-by-js'//合并css和jsimport { fileURLToPath, URL } from "node:url";export default defineConfig({plugins: [Vue({template: { transformAssetUrls }}),cssInjectedByJsPlugin(),//不要使用,会导致打包后图标无法正常显示AutoImport({imports: ["vue", "vue-router", "pinia"],dts: "src/auto-imports.d.ts"}),AutoComponents({dirs: ['src/**/components/**',"src/components/**",],extensions: ['vue'],deep: false, //搜索子目录dts: "src/components.d.ts"}),Vuetify({autoImport: true,styles: { configFile: "src/styles/variables.scss" },}),// viteCompression({//   verbose: true,//   disable: false, //开启压缩(不禁用)//   deleteOriginFile: false, //删除源文件//   threshold: 10240, //压缩前最小文件大小//   algorithm: 'gzip', //压缩算法//   ext: '.gz', //文件类型// }),],resolve: {alias: {"~": fileURLToPath(new URL("./", import.meta.url)),"@": fileURLToPath(new URL("./src", import.meta.url)),},extensions: [".js", ".json", ".jsx", ".mjs", ".ts", ".tsx", ".vue"],},base: './',//避免打包白屏server: {host: '0.0.0.0',// open: true,port: 4399,proxy: {}},css: {preprocessorOptions: {scss: { additionalData: '@import "@/styles/variables.scss";' },},},build: {target: 'es2020',cssMinify: 'esbuild',sourcemap: false,//提升速度outDir: 'results',assetsDir: 'assets',assetsInlineLimit: 4096,minify: 'terser',terserOptions: {compress: {drop_console: true,drop_debugger: true,},},chunkSizeWarningLimit: 2000,// 提高超大静态资源警告门槛rollupOptions: {output: {manualChunks: {vue: ["vue"],},chunkFileNames: 'static/js/[name]-[hash].js',entryFileNames: 'static/js/[name]-[hash].js',assetFileNames: 'static/[ext]/[name]-[hash].[ext]'}},},
})

2、关于打包白屏

我目前发现导致我项目白屏的两个原因

  • 配置中不添加base: './',打包后会白屏,【解决方式就是配置中添加base:'./'】,位置在上面配置文件中有
  • 我配置了manualChunks超大静态资源拆分导致致白屏,【解决方式是注意manualChunks的配置,或者可以不用配置】

manualChunks拆分资源配置导致我的项目打包后白屏,不能按照我注释掉的地方配置

rollupOptions: {output: {//这样写不会白屏manualChunks: {vue: ["vue"],},// 超大静态资源拆分,会导致白屏// manualChunks(id) {//   if (id.includes('node_modules')) {//     return id//       .toString()//       .split('node_modules/')[1]//       .split('/')[0]//       .toString();//   }// },chunkFileNames: 'static/js/[name]-[hash].js',entryFileNames: 'static/js/[name]-[hash].js',assetFileNames: 'static/[ext]/[name]-[hash].[ext]'}},

这篇关于vuetify3+vite,打包后mdi图标无法正常显示,及打包后首页白屏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/812915

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

nodejs打包作为公共包使用的完整流程

《nodejs打包作为公共包使用的完整流程》在Node.js项目中,打包和部署是发布应用的关键步骤,:本文主要介绍nodejs打包作为公共包使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言一、前置准备二、创建与编码三、一键构建四、本地“白嫖”测试(可选)五、发布公共包六、常见踩坑提醒

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S