溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

vue打包相關(guān)細(xì)節(jié)整理(小結(jié))

發(fā)布時(shí)間:2020-10-15 05:13:14 來(lái)源:腳本之家 閱讀:157 作者:Carbenson 欄目:web開(kāi)發(fā)

項(xiàng)目在dev環(huán)境下運(yùn)行沒(méi)有問(wèn)題,打包之后就各種報(bào)錯(cuò)一下來(lái)整理一下遇到的問(wèn)題

1、打包好的網(wǎng)頁(yè)無(wú)法訪問(wèn)static目錄的資源

原因是下載官方的cli時(shí),默認(rèn)設(shè)置是根據(jù)絕對(duì)路徑來(lái)定位資源目錄的,這樣就非常方便在dev環(huán)境下進(jìn)行本地調(diào)試,但是在打包部署之后,就需要通過(guò)相對(duì)路徑來(lái)訪問(wèn)靜態(tài)資源了,修改方法很簡(jiǎn)單,在config/index.js文件文件中,定位到

vue打包相關(guān)細(xì)節(jié)整理(小結(jié))

把a(bǔ)ssetsPublicPath的value改成‘./',修改之后,打包生成的文件,對(duì)資源的引用路徑會(huì)在路徑前面加上‘./',這樣就可以找到對(duì)應(yīng)的資源文件了

2、可以找到靜態(tài)資源文件,但是在css文件中的引用的資源并沒(méi)有找到

原因是打包的時(shí)候,所有static文件下的資源都是加工,生成文件名加上hashcode為新命名的文件,例如css文件中引用了ttf(字體文件),由于ttf文件在打包之后加工成xxx+hashcode.ttf文件,原本的css文件的引用當(dāng)然會(huì)找不到加工后的ttf文件。

解決的方法就是通過(guò)修改build/util.js文件的

vue打包相關(guān)細(xì)節(jié)整理(小結(jié)),添加publicPath:‘../../'

我們會(huì)發(fā)現(xiàn)打包后的css文件,對(duì)ttf文件的引用路徑自動(dòng)加上了hashcode,完美解決css引用外部資源失效的問(wèn)題

3、圖片,MP4,字體等資源比較大,超過(guò)限制,導(dǎo)致文件沒(méi)有被打包進(jìn)去,可以通過(guò)\build\webpack.base.conf.js

vue打包相關(guān)細(xì)節(jié)整理(小結(jié)),

修改對(duì)文件的大小限制

4、打包后,css樣式和測(cè)試環(huán)境的不一樣,原因是打包之后的css文件調(diào)用順序發(fā)生錯(cuò)亂了,

vue打包相關(guān)細(xì)節(jié)整理(小結(jié))

所有第三方庫(kù)的css文件在引入的時(shí)候,務(wù)必在App文件引入之前引入,以上只是main.js文件的改法,可以根據(jù)需要來(lái)修改對(duì)應(yīng)的js文件

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI