vue中引用文件路徑問(wèn)題小結(jié)
vue路徑分為:
絕對(duì)路徑、相對(duì)路徑、~+路徑 及 別名+路徑
絕對(duì)路徑:
(1)放在public文件夾下的內(nèi)容,不會(huì)經(jīng)過(guò)webpack打包處理,可以直接引用,
比如:aa.png直接放在public文件夾下,不管在哪個(gè)文件里,都可以這么引用
<img src="aa.png" style="width: 200px; height: 200px" />
(2)通過(guò)別名引用
在js中,引入帶別名的文件路徑,不需要在別名前加~ ,在css或者style中引入的需要在路徑前面加~,路徑以 ~ 開(kāi)頭,其后的部分將會(huì)被看作模塊依賴。這意味著你可以用該特性來(lái)引用一個(gè) Node 依賴中的資源,~相當(dāng)于reqiure。
在vue.config.js中定義了別名
chainWebpack: (config) => {
config.resolve.alias
.set('@', resolve('src')) //本項(xiàng)目路徑src路徑設(shè)置別名為@
.set('_conf', resolve('src/config')) //本項(xiàng)目路徑src/config路徑設(shè)置別名為_(kāi)conf
.set('_iconfont', resolve('src/assets/icons/iconfont'))
.set('_css', resolve('src/assets/css/'))
.set('_img', resolve('src/assets/img/'))
.set('_js', resolve('src/assets/js/'))
.set('_components', resolve('src/components'))
.set('_header', 'src/Header')
.set('_footer', 'src/Footer')
}
在vue中引入js文件和css文件
注意在script中路徑前面都沒(méi)有~
<script>
import index from "_js/index.js"; ==src/assets/js/index.js
import "swiper/swiper.min.css"; ==node_modules/swiper/swiper.min.css
import "_js/vendor/swiper/swiper.min.css"; ==src/assets/js/vendor/swiper/swiper.min.css
</script>
注意style中使用別名的路徑前面需要加~
<style scoped>
@import url(~_css/index.css); ==src/assets/css/index.css
</style>相對(duì)路徑:
引入相對(duì)路徑,路徑前面需要加require
在src/view/home/index.vue中引入src/assets/img/icon-cloud-light.png 正確寫法: <img src="require(../../assets/img/icon-cloud-light.png)" /> 錯(cuò)誤寫法: <img src="../../assets/img/icon-cloud-light.png" /> 原因:除了public文件夾下的內(nèi)容,其余內(nèi)容都會(huì)經(jīng)過(guò)webpack處理,路徑就變了,所以需要用require處理一下路徑
~+路徑 及 別名+路徑
以下示例,通過(guò)別名引入文件
通過(guò)別名設(shè)置div的背景圖片
用reqiure,這樣寫可以
<div class="thumbnail"
v-bind:style=
"{backgroundImage:'url(' +require('_img/index/service-special-zone-bg-01.png') +')',}"
>
用~,這樣寫不行:
<div class="thumbnail"
v-bind:style=
"{backgroundImage:'url(~_img/index/service-special-zone-bg-01.png)',}"
>給div設(shè)置style樣式,設(shè)置背景圖片等屬性
<div
class="featurette"
:style="[
{
background:
'url(' +
require('_img/index/service-rate-bg.png') +
' ) bottom center no-repeat',
},
{
'background-size': 'auto 100%',
},
{
'margin-bottom': '50px',
},
]"
>
</div>通過(guò)別名引入圖片 <img src="~_img/index/icon-cloud-light.png" alt="" />
通過(guò)別名引入css
<style scoped>
@import url("~_css/index.css");
</style>通過(guò)別名引入js <script> import index from "_js/index.js"; import Swiper from "swiper"; import "swiper/swiper.min.css"; //后跟的是swiper.css的相對(duì)路 import "_js/vendor/swiper/swiper.min.css"; </script>
到此這篇關(guān)于vue中引用文件路徑問(wèn)題的文章就介紹到這了,更多相關(guān)vue引用文件路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文搞懂Vue3中toRef和toRefs函數(shù)的使用
這篇文章主要為大家介紹了Vue3中toRef和toRefs函數(shù)的使用方法,文中通過(guò)示例為大家進(jìn)行了詳細(xì)的講解,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-07-07
Vue使用axios引起的后臺(tái)session不同操作
這篇文章主要介紹了Vue使用axios引起的后臺(tái)session不同操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
el-select如何獲取下拉框選中l(wèi)abel和value的值
在開(kāi)發(fā)業(yè)務(wù)場(chǎng)景中我們通常遇到一些奇怪的需求,例如el-select業(yè)務(wù)場(chǎng)景需要同時(shí)獲取我們選中的label跟 value,下面這篇文章主要給大家介紹了關(guān)于el-select如何獲取下拉框選中l(wèi)abel和value的值,需要的朋友可以參考下2022-10-10
如何構(gòu)建 vue-ssr 項(xiàng)目的方法步驟
這篇文章主要介紹了如何構(gòu)建 vue-ssr 項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
解決vue打包項(xiàng)目后刷新404的問(wèn)題
下面小編就為大家整理了一篇解決vue打包項(xiàng)目后刷新404的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Vue項(xiàng)目中引入ESLint校驗(yàn)代碼避免代碼錯(cuò)誤
這篇文章主要為大家介紹了Vue項(xiàng)目中引入ESLint插件校驗(yàn)代碼避免代碼錯(cuò)誤的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Vue3手機(jī)外觀組件庫(kù)超詳細(xì)代碼示例
vue作為一款深受廣大群眾喜歡的前端框架,擁有眾多優(yōu)秀的開(kāi)源UI組件庫(kù),這篇文章主要介紹了Vue3手機(jī)外觀組件庫(kù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2026-05-05

