vue本地能够访问图片,打包项目之后图片无法访问
//template中
<img :src="boxHerf" />
//js
let boxHerf = ref('/src/assets/images/contain.svg')

上述写法本地能够正常访问图片,但是打包之后无法正常访问,将 boxHerf 换成下列写法即可解决
let boxHerf = new URL('/src/assets/images/contain.svg', import.meta.url).href;
注意:new URL(url,import.meta.url)中的参数url,不能如下面定义变量拼接
const getPath = (url) => {
let path = 'src/assets';
return new URL(`${path}${url}`, import.meta.url).href;
};
上述开发没问题,但是打包会报错,不支持import.meta.url
new URL()
创建一个新 URL 对象的语法:new URL(url, [base])
url —— 完整的 URL,或者仅路径(如果设置了 base),
base —— 可选的 base URL:如果设置了此参数,且参数 url 只有路径,则会根据这个 base 生成 URL。
'/src/assets/images/contain.svg'是相对路径,而import.meta.url 是 base url (根链接)。
import.meta
import.meta 对象包含关于当前模块的信息。
它的内容取决于其所在的环境。在浏览器环境中,它包含当前脚本的 URL,或者如果它是在 HTML 中的话,则包含当前页面的 URL。
因此可以把import.meta 打印出来:
console.log("import.meta.url" ,import.meta)
//import.meta.url

es6使用require引入图片
1、直接写成静态的是没有问题的
let imgUrl = require('../images/001.png');
2、如果你想动态的引入图片,就会报错
let ImgSrc = "../images/001.png";
let img = require(ImgSrc)
因为require是打包工具所需要的标识,你写成运行时通过变量定义,是无法获取到,没办法打包。
3、require()写入的必须是path
let imgSrc = "001.png";
require("../../asset/images/" + imgSrc);
let imgName = "001";
require(`../../asset/images/${imgName}.png`);
vue本地能够访问图片,打包项目之后图片无法访问的更多相关文章
- npm run build 打包项目,图片等资源使用相对路径会出现路径错误的问题
在build下的utils.js中,3使用 ‘vue-style-loader’ 依赖的地方添加 publicPath: '../../' , 如图:
- java查询图片显示无图片显示项目默认图片
/** * 读取图片 * @param request * @param record * @return */ @RequestMapping(params ="method=queryW ...
- Java Springboot 根据图片链接生成图片下载链接 及 多个图片打包zip下载链接
现有一些图片在服务器上的链接,在浏览器中打开这些链接是直接显示在浏览器页面的形式. 现在需要生成这些图片的单独下载以及打包下载链接,即在浏览器中打开下载链接后弹出下载框提示下载.由于前端存在跨域问题, ...
- Vue项目开发之打包后背景图片路径错误的坑
在开发vue项目的过程中,使用浏览器进行预览的时候所有图片的路径是没有任何问题的,但是在打包后传到服务器上,在微信端查看背景图片时,background的图片竟然不显示,img标签里的图片却是正常展示 ...
- vue+webpack项目打包后背景图片加载不出来问题解决
在做VUE +的WebPack脚手架项目打包完成后,在IIS服务器上运行发现项目中的背景图片加载不出来检查项目代码发现是因为CSS文件中,背景图片引用的路径问题;后来通过修改配置文件,问题终于解决了, ...
- Vue项目打包后背景图片路径错误
vue项目打包之后背景图片出错的解决方案如下: 1,找到 config->index.js里面,如下修改 默认配置: env: require('./prod.env'), index: pat ...
- vue打包之后找不到图片路径,打包项目时,dist文件夹内部分图片找不到
1.打包项目时,会默认把存放在public内的小于4k的图片转换成base64,作为内联样式. 可以在vue.config.js中修改默认大小,在chainWepack:config=>{}中添 ...
- 基于Vue + webpack + Vue-cli 实现分环境打包项目
需求由来:我公司项目上线发布至服务器分为三个环境分别为测试环境.预发布环境.生产环境:前期做法是项目通过脚步打包时由脚步把域名和后缀名之类的全部替换成要发布的环境所需要的,因为我公司的项目比较大由许许 ...
- vue本地项目静态资源管理
vue本地项目静态资源管理 统一放在src/static里面css,images,js index.html里面使用重置样式 <link rel="stylesheet" h ...
- 解决Vue打包后背景图片路径错误问题
1.原因解析 当用vue-cli自动构建项目后,有两种运行方法,分别是: npm run dev : 提供一个开发的环境,自动热更新,资源使用绝对路径,所以可以正常看到背景图片. npm run bu ...
随机推荐
- 我和ChatGPT聊数字人
近期,聊天机器人ChatGPT火了,写诗写文写代码,才艺狠狠拉满. 面对如此"会聊"的ChatGPT,很多人好奇相同的问题提问ChatGPT和真人,会有什么样的结果? 于是我们 ...
- 机试练习(一)——Codeforces 784B Santa Claus and Keyboard Check
最近在准备机试,对练习的机试题做个总结.之前没有学过C++,只学过C语言,但是实际用起来的时候发现C++是更适合机试的语言,因为它的库函数更多,能支持更多操作,将一些代码简化. 习惯了C语言定义字符串 ...
- Python数据分析易错知识点归纳(三):Pandas
三.pandas 不带括号的基本属性 df.index # 结果是一个Index对象, 可以使用等号重新赋值,如: df.index = ['a', 'b', 'c'] df.columns # 结果 ...
- C#中DataTable的一些使用(后续继续补充)
C#中DataTable的一些使用 新建一个DataTable DataTable table = new DataTable(); table.Columns.Add("姓名", ...
- 2021-7-7 VUE笔记2
if实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <scri ...
- 记一次 .NET某报关系统 非托管泄露分析
一:背景 1. 讲故事 前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Li ...
- CVE-2021-3156 Linux sudo权限提升漏洞复现
前言: 现在最火的莫不过是这个linux sudo权限提升漏洞了,sudo命令可以说是在linux中十分出名的命令了,在运维时很多时候都需要用到sudo命令,通过此漏洞,可以对具有一定权限的普通用户, ...
- CSS基础(4)
目录 1 定位 1.1 为什么需要定位 1.2 定位组成 1.2.1 边偏移(方位名词) 1.2.2 定位模式 (position) 1.3 定位模式介绍 1.3.1 静态定位(static) - 了 ...
- lazarus、delphi文件Http下载断点续传的实现
下载大文件时,断点续传是很有必要的,特别是网速度慢且不稳定的情况下,很难保证不出意外,一旦意外中断,又要从头下载,会很让人抓狂.断点续传就能很好解决意外中断情况,再次下载时不需要从头下载,从上次中断处 ...
- mall :sa-token项目源码解析
目录 一.mall开源项目 1.1 来源 1.2 项目转移 1.3 项目克隆 二.Sa-Toekn框架 2.1 Sa-Token 简介 2.2 分布式后端项目的使用流程 2.3 分布式后端项目的使用场 ...