在用vue-router構建項目時千萬不要用a標簽代替router-link標簽,會變得不幸


待業在家,閑來無事。

用vue-cli寫了一個沒什么技術含量的頁面框架,實現了一些小小的頁面效果。

然后突然來了想法,想把這個項目部署到前段時間買的雲服務器上看看,然后問題就出現了。

打包完vue-cli項目,自己本地打開看,居然打不開!!!(資源路徑統統404)
看了眼打包出來的東西,所有的資源路徑,都是那么的原汁兒原味兒

經過排查我發現,在資源路徑前加個打包文件夾名稱就能解決那條資源路徑404的問題,但那么多資源路徑一條條搞我怕不是要累死。

人嘛,總是喜歡偷懶,作為懶狗當然要找出一次性就能解決重復勞動才能解決的方法。

說到vue-cli,在之前做畢設改bug的時候就了解到這個所謂的vue-cli和webpack有挺深的淵源,簡單來講就是用webpack構建的一個vue項目腳手架,而webpack本身就是個用來方便打包的工具。要想知道怎么解決這些問題,自然就需要去學一學個個玩意兒。

簡單過了一遍webpack的教程,突然發現之前看不太懂的vue-cli配置指南,能看懂了一點。

害,廢話了這么多,總而言之需要創建一個vue.config.js,配置一個publicPath,將publicPath配置為當前默認打包生成的文件夾的名字就行。於是頁面的問題就解決了。

但是!!!這個故事還沒有完結,不然也不會有這個標題了。

我嘗試將頁面分為Login和main兩個大的主體,利用嵌套路由實現登錄界面和操作界面的跳轉。為了省事,就簡單在Login界面寫了個a鏈接跳轉到main界面,這個操作在本地的node服務器上還是能夠執行的。但當我打包部署到服務器,不行了!!!

點擊鏈接只是訪問了原來賦給a標簽href的值,href的值沒有被打包成publicPath所要的前綴路徑。關於原因呢,我也不太清楚,但我知道main界面的router鏈接能夠成功被打包成對應的格式,那么既然router能被成功打包那自然應該“用魔法打敗魔法”,將a標簽換成router-link就解決問題了。

最后有人看到的話我就順便宣傳一下我搭的MC服務器:1.16.5版本純凈服 地址jingjishiyong.xyz 。我家還蠻大的,可以直接睡覺(doge)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM