安裝完vue后搭建了一個項目,直接執行 npm run dev 是可以正常打開頁面的:

但是執行 npm run build 打包項目后打開卻報錯了,如下:

原來是項目中的靜態文件路徑報錯了。。。
然后就針對這個問題去查找解決方法:
第一步:

第二步: 找到下面文件,添加一行代碼:
publicPath: '../../'

第三步:
重新執行 npm run build ,再次打開成功
說明: 這里的打開方式:在builder編輯器里面直接打開打包后的dist文件夾下的index.html,打開后的地址 : http://127.0.0.1:8020/poverty_front/dist/index.html
----------------------------------------------------------------------------------------- 這里是分界線 2018 - 08 - 03 --------------------------------------------------------------------------------------------------------------------------------
然而我們把項目部署到服務器后,這里是在本地的dist下運行http-server,就相當於部署到服務器,這個時候打開的路徑是 http://127.0.0.1:8081/#/homePage (路由里面對首頁做了重定向,所以看不到index.html)
scss文件里面的一個背景圖片是:
background:url(../../images/home/capitalAccount/bg_pic_1.png) no-repeat center center;
這個圖片跟其他正常顯示的圖片不一樣的地方是它的大小是17.3KB,所以在瀏覽器查看代碼的時候可以看到其顯示的方式也不一樣,這個圖片顯示的是絕對路徑,而其他小的圖片顯示的是轉碼后的base64編碼,如下圖:

然后我們再看下webpack的配置文件:
其中limit就是限制圖片的大小,超過這個值后就會把圖片打包到指定的路徑下

知道出現錯誤的原因后,我們來看如何解決這個問題的:
我們分析下上面打開的兩個不同路徑,我們發現部署到服務器的根目錄是 http://127.0.0.1:8081 ,而沒部署到服務器打開的根目錄是 http://127.0.0.1:8020/poverty_front/ ,然后我們就可以看到沒部署到服務器上的路徑多了一個dist層的。
所以我們看回到上面的第一張圖片,我們把原來的“/”改成了"./",從而實現了使用 http://127.0.0.1:8020/poverty_front/dist/index.html 下路徑正常。相反的,因為部署后的路徑和本地打開的路徑是不一樣的,所以這樣就會導致部署后的路徑會出錯了。

所以我們的解決方案就是把上面的"./"改回原來的"/",因為其他的一些問題,直接在本地打開就是不可運行的,都是通過http-server來運行。
