需求:vue2 + webpack , 点击下载模板,实现本地资源下载
一、 点击a标签
<a href="./static/path_Eglish.zip" download="模板名称_中文">下载模板</a>
1. href属性,建议文件路径使用英文
2. download属性,能够重命名文件的名称(即下载的文件名称为 “模板名称_中文”)
二、本地文件存放在public文件下
webpack 打包时,不会对public文件进行修改;
当本地文件放在src下的assets文件夹时,webpack在打包时会对其进行处理,导致后续文件路径找不到的问题。
三、实操
问题:打包至测试环境,发现文件路径找不到。
解决方式:在href路径上,改“/static”为“./static”
参考如下:
补充
四、2023.12.21思考:感觉知识点没有连起来-_-
(1) /是直接根目录下寻找static文件 ./是在当前工作目录下寻找static文件
(2) 打包后的文件和网页源代码来源处的目录为什么不一样
页面访问ico的请求是/dist/favicon.ico,难道当前工作目录是dist?
(3) 观察上图,静态资源目录应该是dist文件夹的上一级目录
页面的访问路径也是http://120.xx.xx.xxx:7000/dist/
(4) 关键知识点 :页面中的url
当前页面网址为:http://120.xx.xx.xxx:7000/dist/#/loadPage
①对于绝对路径href="/static/1.zip",它会缺啥补啥,结合当前页面的协议、ip、端口,发送请求http://120.xx.xx.xxx:7000/static/1.zip
②对于相对路径hef="./static/1.zip",它会结合计算,当前目录为dist,故请求地址为http://120.xx.xx.xxx:7000/dist/static/1.zip