考:https://www.jb51.net/article/163170.htm
vue中静态资源的引入机制
静态资源可以通过两种方式进行处理:
在 JavaScript 被导入或在 template/CSS 中通过相对路径(以 . 开头)被引用。这类引用会被 webpack 处理。
如 <img src="..."> 、 background: url(...) 和 CSS @import 的资源
例如, url(./image.png) 会被翻译为 require('./image.png')
放置在 public 目录下或通过绝对路径被引用。这类资源将会直接被拷贝,而不会经过 webpack 的处理,你需要通过绝对路径来引用它们。如果 URL 是一个绝对路径,例如 /images/foo.png ,它将会被保留不变。
假设有这样一个目录:
vue-path/ ----- public/ -------- images/ ------------ XX.jpg ----- src/ -------- assets/ ------------ images/ ---------------- XX.jpg -------- App.vue
一、常见的引入方式,路径是固定的字符串,图片会被webpack处理,文件若丢失会直接在编译时报错,生成的文件包含了哈希值:
<img src="./assets/images/01.jpg" alt="">
编译后:
好程序员分享html图片绝对路径改相对路径,要弄懂相对路径修改成绝对路径那么必须要知道路径的基本概念。
html中的路径:指文件存放的位置,在网页中利用路径可以引用文件,完成:插入图像、视频等功能。表示在html中路径的使用方式有两种:相对路径,绝对路径。
1、相对路径:
html中的相对路径的概念是:指当前html页面引用的文件 相对于 当前html页面文件的路径,在html网页开发过程中多采用这种方法来引用我们所想使用的内容。
相对路径有多种使用的方法,这些方法标识表示的意义也不相同。那么接下来我们来看一下是如何使用的。
./ :代表文件所在的目录(通常情况下可以省略不写)
../ :代表文件所在的父级目录(也就是上一级目录)
../../ :代表文件所在的父级目录的父级目录(也就是上一级上一级目录)
/ :代表文件所在的根目录
如:<img src=’images/1.jpg’/>表示此代码所在html文件的路径下的images文件夹下的1.jpg文件。
<img src=’../images/1.jpg’/>表示此代码所在html文件的路径的上一级的images文件夹下的1.jpg文件。
2、绝对地址:
就是直接从磁盘的位置去定位文件的地址。类似于我们通过我的电脑一盘符的方式来寻找想要的指定内容,或者说直接带着协议、域名,
3、如何把html图片绝对路径改为相对路径
可以使用html当中给我们提供的<base/>标签来完成。<base> 标签为页面上的所有路径的引用设置了默认地址或默认目标。 通常情况下,浏览器会从当前文档的 URL 中获取到相应的元素来填写相对的引用路径。
首先<base/>标签是一个单标签,同时所有的浏览器都支持 <base/>这一个标签标签所以兼容性上大家不用考虑。同时在使用<base/>标签的时候必须注意<base/>标签,必须放置到html网页的<head></head>标签当中,同时每一个html页面当中最多只能有一个<base/>标签,它的作用也很明显。就是用来为html页面上的所有路径引用来规定默认地址或默认目标,是一种设置网页中引用路径的标记。
刚才我们已经在前面提到了 在html中常见的路径形式有相对路径和绝对路径,那么在这个时候使用了<base/>标签指定了目标的话,那么我们的用户使用的客户端浏览器就会把这个内容解析成为当前html中引用大的所有相对路径,同时包括<a></a>超链接标签、<img/>图片标签、<link>css引用标签、<form></form> 表单标签中的地址。也就是说,浏览器解析的时候会在引用的路径的前面会自动的加上<base/>上面绑定的地址,同时在这个时候页面中的相对路径也都会被转换成为绝对路径。
使用语法:
<head>
<base href="目标路径" />
</head>
引用外部文件(如超链接或者插入图片)时,经常会遇到我们的页面文件跟要引用的目标文件不在同一目录下的情况,这个时候,就带来了文件引用路径的问题。通常情况下,我们将引用的路径分为两种情况,绝对路径和相对路径。
绝对路径是指文件在硬盘上真正存在的路径,即物理路径。例如“bg.jpg”这个图片是存放在硬盘的“D:\work\code\imgs”目录下,那么, “bg.jpg”这个图片的绝对路径就是:
<img src="D:\work\code\imgs\bg.jpg" >
通常我们使用绝对路径,更多应用是在定位网络资源上,
如:https://image.so.com/i?ie=utf-8&src=hao_360so&q=%E6%95%85%E5%AE%AB%E7%BB%9D%E7%BE%8E%E9%9B%AA%E6%99%AF
在实际开发中,我们很少会使用绝对路径,如果使用“D:\work\code\imgs\bg.jpg”来指定背景图片的位置,在自己的计算机上 浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。因为上传到Web服务器上时,可能整个网站并没有放在Web服务器的D盘, 有可能是E盘或H盘。即使放在Web服务器的D盘里,Web服务器的E盘里也不一定会存在“D:\work\code\imgs\bg.jpg”这个目录,因此在浏览网页时是不会显示图片的
为了不同设备存放路径不一致的这种情况,通常在网页中指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于当前文件的位置。关于相对路径,有以下三种情况:
当图像文件和HTML文件位于同一文件夹时,只需输入图像文件的名称即可,如:
<img src="1.png">
当图像文件位于HTML文件的下一级文件夹,输入文件夹名和文件名,之间用“/”隔开,如:
<img src="img/2.png">
当图像文件位于HTML文件的上一级文件夹,在文件名之前加入“…/” ,如果是上两级,则需要使用 “…/ …/”,以此类推,如:
<im background="../img/0.png">
*请认真填写需求信息,我们会在24小时内与您取得联系。