vue中引用文件路徑問題小結(jié)
vue路徑分為:
絕對路徑、相對路徑、~+路徑 及 別名+路徑
絕對路徑:
(1)放在public文件夾下的內(nèi)容,不會(huì)經(jīng)過webpack打包處理,可以直接引用,
比如:aa.png直接放在public文件夾下,不管在哪個(gè)文件里,都可以這么引用
<img src="aa.png" style="width: 200px; height: 200px" />
(2)通過別名引用
在js中,引入帶別名的文件路徑,不需要在別名前加~ ,在css或者style中引入的需要在路徑前面加~,路徑以 ~ 開頭,其后的部分將會(huì)被看作模塊依賴。這意味著你可以用該特性來引用一個(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>相對路徑:
引入相對路徑,路徑前面需要加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)過webpack處理,路徑就變了,所以需要用require處理一下路徑
~+路徑 及 別名+路徑
以下示例,通過別名引入文件
通過別名設(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>通過別名引入圖片 <img src="~_img/index/icon-cloud-light.png" alt="" />
通過別名引入css
<style scoped>
@import url("~_css/index.css");
</style>通過別名引入js <script> import index from "_js/index.js"; import Swiper from "swiper"; import "swiper/swiper.min.css"; //后跟的是swiper.css的相對路 import "_js/vendor/swiper/swiper.min.css"; </script>
到此這篇關(guān)于vue中引用文件路徑問題的文章就介紹到這了,更多相關(guān)vue引用文件路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue $attrs和$listeners的使用與區(qū)別
本文主要介紹了vue $attrs和$listeners的使用與區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
vue在使用ECharts時(shí)的異步更新和數(shù)據(jù)加載詳解
這篇文章主要給大家介紹了關(guān)于vue在使用ECharts時(shí)的異步更新和數(shù)據(jù)加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
vue3+echarts+折線投影(陰影)效果的實(shí)現(xiàn)
這篇文章主要介紹了vue3+echarts+折線投影(陰影)效果的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10
vue 綁定使用 touchstart touchmove touchend解析
這篇文章主要介紹了vue 綁定使用 touchstart touchmove touchend解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
vue指令實(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

