首页 > 其他分享 >vite打包上线后,部分图片无法显示

vite打包上线后,部分图片无法显示

时间:2023-09-19 17:22:59浏览次数:42  
标签:上线 dist assets vite public 打包 图片

1.情况:使用vite打包后,上线时部分图片展示不了。

 1.1使用css引用的图片能够正常展示,能够打包进dist文件中assets中,查看浏览器中引用路径为assets中的图片,如此引用的图片不需经过特别处理,不管是放在static或者public的文件夹中都可以,都能够自动打包进dist中的assets文件夹中,并且浏览器中能够自动编译为获取dist中的assets文件的图片,不需特地修改代码中图片的路径(因为编译到assets文件的图片命名会带hash值,因此需要vite特地取编译才能正确获取到图片)

 

 1.2写在vue文件的图片,使用行内样式的无法显示,查看dist文件,发现行内样式图片没有打包进assets文件中,浏览器中的图片引用路径没被编译,图片无法展示。此处的行内样式图片vite不会进行打包,更不会帮助路径编译,因此图片是无法展示的。

 

 2.解决行内样式图片无法显示图片:

 2.1将所有图片文件放进public文件夹中,因为vite不会打包public的文件,并且不会给图片加上hash值

 

 2.2在代码层面修改图片引用路径,由/public/img/xxx.png修改为/img/xxx.png,路径计算公式为通过dist文件夹中获取该图片的路径计算,因为public文件夹打包至dist中时文件结构发生改变(这样并不会导致本地环境无法引用到该图片,去除/public依然可以获取到图片,虽然vscode插件显示获取不到该图片)

  2.3至此可以解决图片无法显示问题

 

标签:上线,dist,assets,vite,public,打包,图片
From: https://www.cnblogs.com/LylePark/p/17715198.html

相关文章

  • 用jenkins构建HBuilder创建uni-app项目打包成H5发版
    此文章可以打包h5,但缺少index.css引用。1、用HBuilderX工具创建uni-app项目选择默认模板 生成项目名为:my-project 2、在linux环境下在安装好node 和npm 前提下(去官网:https://nodejs.org/en/download 下载:node-v14.18.1-linux-x64.tar.xz 或wgethttps://nodejs.or......
  • 在Vite和Laravel 10中包含图像的Vue组件
    在使用Vite和Laravel8中包含图像的Vue组件,可以按照以下步骤进行操作:在Vue组件中引入图像:首先,确保将图像文件放置在Laravel项目的公共目录中,例如public/images文件夹。然后,在Vue组件中使用require或import语句引入图像:<template><div><img:src="require('@/images/i......
  • Docker容器化代码上线
    启动gitlab和jenkins存在的问题1)gitlab拉代码地址2)Jenkins如何拉gitlab代码3)Jenkins公钥如何永久保存4)Jenkins拉下来代码之后,需要将代码打到docker镜像中,jenkins这台容器如何执行docker命令5)Jenkins中,如何登录harbor(永久登录harbor)主机IP角色docker0110.0.0.101webdocker0210.0......
  • Vue3+vite路由配置优化(自动化导入)
    今天在维护优化公司中台项目时,发现路由的文件配置非常多非常乱,只要只中大型项目,都会进入很多的路由页面,规范一点的公司还会吧路由进行模块化导入,但是依然存在很多文件夹的和手动导入的问题。于是我想到了我之前使用vuex时进行的模块化自动导入js文件,能不能使用到自动导入.vue文件......
  • webpack打包报错:Unexpected token (Note that you need plugins to import files that
    关于这个问题,我在网上查找了一些资料(博客、问答),得到的答案多种多样:1.可能是缺少rollup的某种plugin;2.可能是系统环境的问题(windows/linux/macos);3.可能是某段代码引起的问题;4.。。。 经过对自身情况的逐步测试定位,发现->出问题的代码片段:callbacks:{onMouseMove,......
  • Sealos 新功能“定时任务”上线(省钱大杀器)
    流量高峰时段资源不足?低流量时段服务器成本过高?本着好用又省钱的目标,sealos推出定时任务功能,保证稳定的同时降低成本。Sealos国内集群:https://cloud.sealos.topSealos海外集群:https://cloud.sealos.io原文链接:https://forum.laf.run/d/1034功能介绍一句话介绍:一个......
  • 如何与Vitesco Technologies建立 EDI 连接?
    VitescoTechnologies(维德科技)是一家专注于汽车动力总成和电动驱动解决方案的公司。它是大陆集团(ContinentalAG)的一部分,总部位于德国。VitescoTechnologies在传统内燃机技术和电动驱动技术领域都有着广泛的经验和专业知识。VitescoTechnologiesEDI需求分析EDI能够将基于......
  • vue打包后webview加载本地html显示空白页的解决历程
    vue打包后放进androidasserts中webview死活加载不出本地html,一直显示空白,AndroidStudioLogcat也没个啥提示,用浏览器打开却是正常,单独建了html文件放进去也能显示,上火,只好重载webview的事件来获取报错内容:webView.setWebViewClient(newWebViewClient(){@Override......
  • vue项目用electron打包成exe,并更新exe版本
    用electron-build打包1、下载electron、electron-buildernpminstallelectronelectron-builder-D2、配置package.json文件"start":"electron.","app:build":"electron-builder" "build":{"appId":&q......
  • Docker中如何将容器重新打包成镜像
    最近做项目,建好了不少不同规则的容器。需要以后重复利用,于是重新打包为镜像。使用以下命令,查看容器名称:dockerps-aCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES3e08cb5b24f8gareenbeam/kyv10:v4......