vue專案在開發環境下,讓專案執行起來,是通過npm run dev命令,原理是在本地搭建了乙個express伺服器。
但是在伺服器上就不是這樣的,必須要通npm run build命令來對整個專案進行打包,打包後會在專案目錄下生成乙個dist資料夾,內容如下:
然後就是把這些檔案丟到伺服器上的某個資料夾下,我這裡的資料夾名字是ibms
遇到的問題:
1.直接去訪問,會發現網頁是白屏的,什麼都沒有,這就比較奇怪了,其實是因為資源載入的路徑有問題!
解決方法:
在config中的index.js裡build下修改webpack配置:
assetspublicpath:
'/ibms/'
在router中的index.js配置中加上:
export
default
newrouter()
, base:
'/ibms/'
,// 加上這一行
routes: constantroutermap
})
接下來再重新npm run build打包,然後丟到伺服器上ibms資料夾下,這時頁面就可以正常訪問了。
2.在當前頁面重新整理或者用url欄訪問某個子頁面,結果發現網頁404了,這是因為vue路由的mode是history模式。
解決方法:
把所有的請求全部**到index.html上就可以了
我這裡用的是apache做的web伺服器,在ibms目錄下新建**.htaccess**檔案(跟index.html同級),編輯**。
rewriteengine on
rewritebase /ibms/
rewriterule ^index\.html$ -[l
] rewritecond %!-f
rewritecond %!-d
rewriterule .
/ibms/index.html [l]
<
/ifmodule>
這個配置的作用就是把所有伺服器上不存在請求全部**到index.html上去。(ps:記得要重啟apache伺服器哦)
如有錯誤,請多指教,謝謝!
Vue專案打包到django部署
vue專案一般用於實現前端的單頁面富應用,其打包後的檔案可簡單看作靜態檔案,所以可以通過nginx部署,當然也可以通過django部署 畢竟本質上還是乙個html檔案及各css,js檔案的集合 不過前後端的耦合性以及效能就比nginx動靜分離的差一點。但平時開發的時候可以這樣部署,十分方便快捷。測試...
vue打包部署到docker
npm run build 打包vue專案 啟動 docker 將dist目錄通過winscp等方式拷貝到linux伺服器上,同目錄下新建dockerfile dockerfile maintainer 為名字 copy dist home myhtml front 當前目錄的dist資料夾複製到容...
npm打包vue專案部署到nginx
1.build vue project,生成dist目錄 npm run buildstart nginx.exe3.訪問localhost 8082如下 4.nginx測試完畢,此時將我們專案構建後的dist目錄整個複製到nginx根目錄的html資料夾下 c users jalchu nginx...