前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
PS:本人遇到這個問題是用文中最后一句話解決:" 在組件的樣式中記得添加 'scoped' "。
?
在Vue項目開發過程中遇到兩次,本地運行正常,build后在服務器上樣式沒有生效,或者在本地的效果沒有正常顯示,
下面一一說明:
一、多個相同樣式文件同時存在項目中
??????現象:修改組件時,在項目中復制了一個組件重命名后進行修改,在本地執行正常,后打包上傳,無法展示正常效果。
??????解決過程:在本地試圖修改總是不見效果,在控制臺查看樣式仍是之前的樣式,把其中一處樣式在所有相關組件中修改,打包上傳后樣式生效,這說明是舊的樣式在打包時覆蓋了新的樣式。將舊組件刪除后解決上述問題。
?????原因猜測:因為相同組件包含不同樣式時,無法判斷哪份樣式時在后面渲染,如果舊樣式剛好打包后在后面渲染,則會覆蓋掉新寫的樣式。在本地執行時,因為樣式沒有打包,訪問頁面時渲染的都是組件自身樣式,所以不會出現上述問題。
二、全局(main.js)引用樣式
??????現象:在全局引入了Element UI 樣式,在header組件中修改部分樣式,在本地執行正常,后打包上傳,無法展示正常效果。
??????解決過程:因為在項目中段發現該問題,以為是后續的樣式造成的影響(雖然我也認為可能性極小),刪除新寫的組件,沒有效果。運行一段時間之前的代碼,項目正常運行,這迫使我回想中間這段時間對項目做了什么?...............,除了新寫了一些組件,還將一些配置信息從index.js中轉移到了main.js中,測試發現果然是這里出現了問題。配置中同時出現了Element UI 樣式文件引用,還有router的引用,將yang樣式引用放在router引用后解決問題。
?????原因猜測:不正常的樣式顯示的還是組件原始的樣式,由此猜測router加載時會加載組件樣式,將樣式文件在router后引用會將router加載時渲染的樣式覆蓋掉,所以建議將router的引用放在最后面。
?以上原因猜測是個人分析,大家有新見解請在下方留言。
?
最后,在每個組件的樣式中記得添加 'scoped'
---------------------?
轉自:https://blog.csdn.net/fengjingyu168/article/details/78132401?
?