比如
我的項目結(jié)構(gòu)
├── build
...
├── src
│?? ├── style
│?? │?? ├── scss
│?? │?? │?? └── index.scss
│?? │?? └── style.scss
...
│?? ├── page
│?? │?? └── index.vue
...
├── static
│?? ├── css
│?? ├── font
│?? ├── image
│?? └── js
在index.scss中引用路徑時用的相對路徑
../../../static/image/img.png
在index.vue中
<img src="../../static/image/img.png"/>
很容易出錯...
能定義一個變量比如 imagePath 來指代路徑嗎?
樣式表中也能解析
注意,是開發(fā)環(huán)境,不是生產(chǎn)環(huán)境的路徑問題
謝謝
你不應(yīng)該用相對路徑去引用 static 目錄下的資源
可以看出你這個項目是 Vue CLI 2.x 腳手架創(chuàng)建出來的項目。這個項目下的 static 目錄意圖是用于存放某些靜態(tài)資源,這些資源是不會被 webpack 打包處理的,只是會被單純的拷貝。但是如果你使用相對路徑去引用這些資源,它們就會被 webpack 處理了(minify、uglify、轉(zhuǎn)base64等),這便與原始的目的違背了。
webpack 處理,那么你應(yīng)該將 static 目錄下的資源放到 src/assets 目錄下,再通過相對路徑引用這些資源。webpack 處理,那么你可以保持現(xiàn)在的目錄,不過引用這些資源的時候請用絕對路徑,就問題中的例子來說就是 /static/image/img.png(注意要以 / 開頭)可以通過設(shè)置 alias 來方便相對路徑的引用
// webpack.base.conf.js
resolve: {
alias: {
'@': resolve('src'),
'@img': '@/src/assets/image'
}
}
然后在 <template> 中使用
<img src="@img/img.png"/>
在 scss 文件中使用
.icon-test {
background: url("~@img/img.png");
}
要注意的是,使用 alias 的路徑會被 webpack 處理,這就是為什么我把路徑改成 src/assets 了;
至于為什么用 ~@ 以及其他相關(guān)內(nèi)容可以參考:
Vue CLI webpack 模板關(guān)于靜態(tài)資源的描述 和一篇針對 Vue CLI 搭建項目路徑相關(guān)問題的描述
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。