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模板,以及下載靜態文件的坑(實測有效)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM