1. 程式人生 > >webpack打包vue專案後,一些檔案圖片路徑找不到的問題解決辦法

webpack打包vue專案後,一些檔案圖片路徑找不到的問題解決辦法

最近寫了一個百度地圖的專案,要求底部有一個導航欄。具體如下圖:


首先,拿到了底部導航欄的所有圖示圖片,圖片都有兩種。灰色的代表未選中,選中的用帶樣色的圖片替換。

先看一下,元件中 html結構:通過vue提供的v-for方法,進行遍歷顯示footNav這個陣列。數組裡邊存放著{title:"銀行",url:" ",url1:" "},將圖片的 src與isSelect進行繫結,並進行判斷,如果等於當前的title時即為選中當前的導航,顯示選中時的圖片url1。

<div class="footer">
  <ul>
    <li v-for="item in footNav" 
@click="selectMapNav(item.title)"> <img :src="isSelect === item.title ? item.url1 : item.url" alt=""> <p>{{item.title}}</p> </li> </ul> </div>

在vue data () 中定義一個數組,裡邊存放每一個導航的標題,如‘銀行’,未選中時顯示的圖片url,選中時的圖片url1。isSelect表示當前選中的,預設選中銀行。

isSelect: '銀行'
, footNav: [{title: '銀行', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'}, {title: '公交 ', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'}, {title: '地鐵 ', url: '../../../static/baiduMap/[email protected]
'
, url1: '../../../static/baiduMap/[email protected]'}, {title: '教育 ', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'}, {title: '醫院 ', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'}, {title: '休閒 ', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'}, {title: '購物 ', url: '../../../static/baiduMap/[email protected]', url1: '../../../static/baiduMap/[email protected]'} ]

在methods方法中,寫上html中呼叫的事件。通過html結構層那裡的點選事件selectMapNav(item.title)傳過來的title賦值給isSelect即可實現導航欄的點選狀態的變化。

selectMapNav (title) {
  this.isSelect = title }

因為,我這裡的url是通過繫結資料層的url裡邊字串實現。這就會導致最後通過webpack打包後,這個路徑還是這個字串裡邊的路徑不會改變。

所以,出現了找不這張圖片的現象。

解決辦法:因為通過webpack打包後就一個static資料夾。所以通過webpack打包前把上面的url路徑改為下面的路徑:

footNav: [{title: '銀行', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '公交 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '地鐵 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '教育 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '醫院 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '休閒 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'},
{title: '購物 ', url: './static/baiduMap/[email protected]', url1: './static/baiduMap/[email protected]'}
]
這樣就不會出現,webpack打包後的檔案,路徑找不到的問題。

相關推薦

webpack打包vue案後一些檔案圖片路徑到的問題解決辦法

最近寫了一個百度地圖的專案,要求底部有一個導航欄。具體如下圖: 首先,拿到了底部導航欄的所有圖示圖片,圖片都有兩種。灰色的代表未選中,選中的用帶樣色的圖片替換。 先看一下,元件中 html結構:通過vue提供的v-for方法,進行遍歷顯示footNav這個陣列。數

在MyEclipse匯入案後js檔案報錯

首先程式碼是不會出錯的(只要程式碼的來源可靠),那麼這種情況如何解決呢: 選中檔案,右擊滑鼠——選中並點選“MyEclipse”——選中並點選“Exclude From Validation”即可;

案後servlet檔案報錯解決方法

第一個:servlet-api.jar沒有匯入 平常我們自己在Myeclipse中寫專案時也不用匯入這個包,而我們匯入其他人的專案包時就要匯入這個servlet-api.jar包。這是因為我們平常自

匯入案後jQuery檔案報錯解決方法

專案完成後,我把專案轉移到同學的手提電腦上面去演示一下,匯入進去後,我看到自己的專案有一個紅叉,然後開啟看看後,我發現我自己在官網下載回來的jQuery檔案有錯誤,myeclipse竟然報錯說是語法錯

MyEclipse匯入案後jsp檔案報錯解決方法

我的Jsp頁面報錯的原因是,js標識在jsp中不能正確識別,myeclipse在進行jsp頁面檢查時,找不到標識,就報錯了。​ 假如你是這樣的錯誤的話,可以使用一下的方法 (1)在專案上右鍵->

webpack打包vue項目資源路徑如何從絕對路徑改為相對路徑?css中的圖片資源如何修改配置?

分享 但是 eat js等 一行 出現 com 根路徑 head 資源相對引用路徑 問題描述 一般情況下,通過webpack+vuecli默認打包的css、js等資源,路徑都是絕對的。 但當部署到帶有文件夾的項目中,這種絕對路徑就會出現問題,因為把配置的static文件夾

Spring Boot整合MyBatis打包成jar時setTypeAliasesPackage("xxx")到類的問題

MyBatis掃描通過VFS來實現 在Spring Boot中,由於是巢狀Jar,導致Mybatis預設的VFS實現DefaultVFS無法掃描巢狀Jar中的類。 解決辦法,實現自定義的VFS,參考DefaultVFS增加對Spring Boot巢狀JAR的處理。 以下為SpringBo

vue 專案打包時樣式及背景圖片路徑

問題描述:vue專案打包後,檔案找得到,但是引用的字型及背景圖片找不到; 解決方法: 主要是需要單獨為 css 配置 publicPath 。 ExtractTextWebpackPlugin 提供了一個 options.publicPath 的 api,可以為css單

dubbo.xsd檔案 配置檔案報紅色標誌錯誤解決辦法

              有些時候,專案中的application-dubbo-constumer.xml配置檔案報錯,意思是dubbo.xsd找不到    異常程式碼: 使用dubbo時遇到

關於vue打包圖片路徑到的問題

//asserts引入的靜態資源是相對路徑 //而static引入靜態資源時必須是絕對路徑 slides: [ { //當asserts引入動態繫結的靜態資源時,需要以模組的方式匯入資源, //將圖片作為模

每天進步一點點之在匯入案後MyEclipse在building workspace時緩慢的解決辦法

在MyEclipse(尤其在MyEclipse 10)中匯入一個專案或啟動時,尤其是專案很大時,總是要有一段時間的buliding workspace,這是因為MyEclipse在檢查一些檔案等,有時

webpack+vue自建案後執行npm run dev瀏覽器自啟動

背景:由於vue版本的更新,有兩個檔案被刪除【 /config/dev-server.js and /config/dev-client.js are gone /config/dev-server.js 和/config/dev-client.js】,原配置項被移植到了i

16.如何做到webpack打包vue項目後可以修改配置文件

r.js all config rest 技術分享 req api local err 問題描述: 前端需要修改restful API的url,但是打包之後,配置文件找不到了,如果在npm run build 生成dist後,這個配置也被寫死了,傳到運行的前端服務器上後,假

如何做到在webpack打包vue項目後在外部動態修改配置文件

打包 測試 contex 我們 pro nbsp assets bpa gen 在我們做完vue項目後,只需要執行 npm run dist 就可以輕松進行打包轉測試,可是如果我們臨時需要修改一些配置文件比如域名,這時候我們就有點懵逼了,那就修改了再重新打一次包? NO N

拉完maven案後IDE提示檔案錯誤

一,問題 在我們平時從svn或git中,從上面拉去maven專案下來,可能一拉完,IDE工具就會提示出錯。 二,找出問題所在 2.1 首先,我們要知道一個專案既然會提交到svn上,那麼一般情況下,是不會有問題的。所以有可能是我們的網路不是很好,

webpack 打包vue專案後生成一個可修改介面地址的配置檔案

當我們做完vue專案打包、轉測試、部署後,卻遇到修改介面地址,或修改域名。但是在npm run build 之後所生成的 dist 檔案也是寫死的了。我們就需要回來重新修改,重新打包。 no no no 一想都覺得麻煩哎。 所以最好解決方案就是有個 config 檔案方便我們管理這些。 解決

webpack打包vue專案之後生成的dist檔案該怎麼啟動執行

親測,webpack打包vue專案之後生成的dist檔案可以部署到 express 伺服器上執行。 我的vue專案結構如下: 1. 進入該vue專案目錄,開啟git bash,執行:npm run build(在package.json的scripts配置) 執行成功

vue-cli3.0構建案後vue.config.js配置簡介

vue-cli3.0建立專案 vue.config.js配置 vue-cli3.0構建專案目錄中沒有build和config目錄,新增自定義配置需要在專案跟目錄中新增vue.config.js,注意是跟目錄非src下。配置如下: const path = r

webpack打包vue檔案時報錯`Unexpected token:`

webpack打包vue檔案時報錯Unexpected token:     master分支的程式碼編譯打包一直都正常的,今天上午將一個同事的分支合併後就一直編譯不過,走讀程式碼發現改動也比較少,也

Eclipse JEE 3.6 以上版本新建web案後WEB-INF下沒有web.xml配置檔案

原因是: 新建面板上的  “Dynamic web module version” 選項,預設是 servlet 3.0的版本,該版本,預設是沒有web.xml檔案的,如果你習慣老版本規範,當在你新建工程的時候,不要單擊 finish按鈕直接完成建立,單擊 next 按鈕,在最後一步,選中: “Genera