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中引入的需要在路徑前面加~,路徑以 ~ 開頭,其后的部分將會(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è)置別名為_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中路徑前面都沒有~ <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)文章
vue $attrs和$listeners的使用與區(qū)別
本文主要介紹了vue $attrs和$listeners的使用與區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02前端自動(dòng)化測(cè)試Vue中TDD和單元測(cè)試示例詳解
這篇文章主要為大家介紹了前端自動(dòng)化測(cè)試Vue中TDD和單元測(cè)試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02vue在使用ECharts時(shí)的異步更新和數(shù)據(jù)加載詳解
這篇文章主要給大家介紹了關(guān)于vue在使用ECharts時(shí)的異步更新和數(shù)據(jù)加載的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11vue3+echarts+折線投影(陰影)效果的實(shí)現(xiàn)
這篇文章主要介紹了vue3+echarts+折線投影(陰影)效果的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10vue 綁定使用 touchstart touchmove touchend解析
這篇文章主要介紹了vue 綁定使用 touchstart touchmove touchend解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03vue指令實(shí)現(xiàn)數(shù)字和大寫中文實(shí)時(shí)互轉(zhuǎn)
這篇文章主要介紹了如何使用Vue指令實(shí)現(xiàn)在用戶輸入數(shù)字失焦后實(shí)時(shí)將數(shù)字轉(zhuǎn)為大寫中文,聚焦的時(shí)候?qū)⒋髮懼形霓D(zhuǎn)為數(shù)字以便用戶繼續(xù)修改,需要的可以參考下2024-12-12