在vue項(xiàng)目中,對于之前從未接觸過nginx的我业舍,第一次在nginx部署vue項(xiàng)目抖拦,研究了半天終于部署成功了,然而樣式卻和我在本地的不一樣舷暮,樣式和本地竟然不一樣态罪,氣死我了,然后有各種搜索下面,終于找到了解決辦法:
一复颈、多個(gè)相同樣式文件同時(shí)存在項(xiàng)目中
現(xiàn)象:修改組件時(shí),在項(xiàng)目中復(fù)制了一個(gè)組件重命名對其進(jìn)行修改沥割,在本地執(zhí)行正常耗啦,后打包上傳,css的樣式并沒有被正確加載机杜。
解決過程:在控制臺查看樣式還是之前的樣式芹彬,把其中一處樣式在所有相關(guān)組件中修改,打包上傳后樣式生效叉庐,這說明舊的樣式在打包的時(shí)候覆蓋了新的樣式舒帮。將舊組件刪除后解決上述問題。
原因猜測:因?yàn)橄嗤M件包含不同樣式時(shí),無法判斷出哪份樣式在后面渲染玩郊,如果舊的樣式剛好在打包后在渲染肢执,則會(huì)覆蓋掉新寫的樣式。在本地執(zhí)行時(shí)译红,因?yàn)闃邮經(jīng)]有被打包预茄,訪問頁面時(shí)渲染的都是組件自身樣式,所以不會(huì)出現(xiàn)上述現(xiàn)象侦厚。
二耻陕、全局(main.js
)引用樣式
現(xiàn)象:在全局樣式中引入了Element UI或者M(jìn)int UI樣式,在header組件中修改了部分樣式刨沦,在本地正常執(zhí)行诗宣,后打包上傳,樣式出現(xiàn)錯(cuò)亂現(xiàn)象想诅。
解決過程:在main.js文件中引入Element UI或者M(jìn)int UI的時(shí)候應(yīng)該將其放在router引用的后面
import Vue from 'vue'
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import router from './router'
import App from './App'
注意:`import App from './App'`這句引入最好放在所有樣式引入的最后召庞,不然也很容易造成樣式錯(cuò)亂現(xiàn)象,放到最后相當(dāng)于最后加載新寫的css樣式来破,因?yàn)閏ss樣式是按照引入的順序執(zhí)行的篮灼,如果不放到最后,很容易出現(xiàn)相同類名的樣式被覆蓋掉徘禁。
如果你覺得我的文章對你有用诅诱,請幫我點(diǎn)個(gè)贊吧,您的贊是我前進(jìn)的動(dòng)力送朱,小女子在此謝過大家了娘荡!