zoukankan      html  css  js  c++  java
  • Vue CLI4文件本地下载与public文件夹资源引用的坑

    一、前言

    前端小白,只是费了好大力气找到了解决问题的办法,但并不了解背后的原因,考虑到各方面的因素,将开发环境配置发在下边,同时也欢迎前端大佬们对文章中的情况答疑解惑,小白感激不尽!

    开发环境:

    npm  6.14.8

    node  14.15.0

    vue-cli  4.5.9

    vue-admin-template  4.4.0

    我只修改了vue-admin-template的路由配置,并且添加了些页面以及请求api等,其他系统性配置的东西均未修改。

    文件目录及结构如下:

    addSubject.vue中下载本地文件demo.xlsx,以及引入图片01.jpg

    二、文件本地下载

    错误做法:

    <a href="/public/demo.xlsx" download>下载模板</a>

    正确做法:

    <a href="demo.xlsx" download>下载模板</a>
    <a href="./demo.xlsx" download>下载模板</a>
    <a href="/demo.xlsx" download>下载模板</a>

    奇怪的是在vue-cli2中如果把public换成static(vue-cli3之后目录结构有所改变,public等同于static文件夹),第一种做法是正确的,但是在vue-cli4中就会出现如下图的错误

    猜测:vue-cli4中引用public文件时,“/”是以public文件夹内部为根目录开始找的。

    三、public文件夹资源引用问题

    错误做法:

    <!--  编译不通过,直接报错  -->
    <img src="./01.jpg"/>
    <!--  编译通过,但无法正常显示图片  -->
    <img src="/public/01.jpg"/>

    正确做法:

    <img src="01.jpg"/>
    <img src="/01.jpg"/>

    疑惑:01.jpg就可以为什么./01.jpg就不可以呢?

    四、参考博文

    vue-cli 3 /4 图片在public 文件夹中图片路径问题

    vue-cli4前端实现下载本地Excel模板,以及下载静态文件的坑(实测有效)

    学习和码字过程难免出现疏漏,欢迎指正!QQ:1801888312
  • 相关阅读:
    rt_list_entry() 函数
    替换空格
    跳台阶
    斐波那契数列
    基于5221码的同步十进制加法计数器
    强连通分量+Tarjia+缩点
    次小生成树
    差分约束
    P1547 Out of Hay
    P1197 [JSOI2008]星球大战
  • 原文地址:https://www.cnblogs.com/liuguo/p/14455024.html
Copyright © 2011-2022 走看看