項目在dev環境下運行沒有問題,打包之後就各種報錯一下來整理一下遇到的問題
1、打包好的網頁無法訪問static目錄的資源
原因是下載官方的cli時,默認設置是根據絕對路徑來定位資源目錄的,這樣就非常方便在dev環境下進行本地調試,但是在打包部署之後,就需要通過相對路徑來訪問靜態資源了,修改方法很簡單,在config/index.js文件文件中,定位到
把assetsPublicPath的value改成‘./’,修改之後,打包生成的文件,對資源的引用路徑會在路徑前面加上‘./’,這樣就可以找到對應的資源文件了
2、可以找到靜態資源文件,但是在css文件中的引用的資源並沒有找到
原因是打包的時候,所有static文件下的資源都是加工,生成文件名加上hashcode爲新命名的文件,例如css文件中引用了ttf(字體文件),由於ttf文件在打包之後加工成xxx+hashcode.ttf文件,原本的css文件的引用當然會找不到加工後的ttf文件。
解決的方法就是通過修改build/util.js文件的
,添加publicPath:‘../../’
我們會發現打包後的css文件,對ttf文件的引用路徑自動加上了hashcode,完美解決css引用外部資源失效的問題
3、圖片,MP4,字體等資源比較大,超過限制,導致文件沒有被打包進去,可以通過\build\webpack.base.conf.js
,修改對文件的大小限制
4、打包後,css樣式和測試環境的不一樣,原因是打包之後的css文件調用順序發生錯亂了,
所有第三方庫的css文件在引入的時候,務必在App文件引入之前引入,以上只是main.js文件的改法,可以根據需要來修改對應的js文件