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

相关文章

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

pip无法安装osgeo失败的问题解决

《pip无法安装osgeo失败的问题解决》本文主要介绍了pip无法安装osgeo失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 进入官方提供的扩展包下载网站寻找版本适配的whl文件注意:要选择cp(python版本)和你py

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于