Vue項目打包部署到apache服務(wù)器的方法步驟
vue項目在開發(fā)環(huán)境下,讓項目運行起來,是通過npm run dev命令,原理是在本地搭建了一個express服務(wù)器。
但是在服務(wù)器上就不是這樣的,必須要通npm run build命令來對整個項目進行打包,打包后會在項目目錄下生成一個dist文件夾,內(nèi)容如下:

然后就是把這些文件丟到服務(wù)器上的某個文件夾下,我這里的文件夾名字是ibms

1. 直接去訪問http://www.xxx.com/ibms/,會發(fā)現(xiàn)網(wǎng)頁是白屏的,什么都沒有,這就比較奇怪了,其實是因為資源加載的路徑有問題!
解決方法:
在config中的index.js里build下修改webpack配置:
assetsPublicPath: ’/ibms/’
在router中的index.js配置中加上:
export default new Router({ mode: ’history’, scrollBehavior: () => ({ y: 0 }), base: ’/ibms/’, // 加上這一行 routes: constantRouterMap})
接下來再重新npm run build打包,然后丟到服務(wù)器上ibms文件夾下,這時頁面就可以正常訪問了。
2. 在當(dāng)前頁面刷新或者用url欄訪問某個子頁面,結(jié)果發(fā)現(xiàn)網(wǎng)頁404了,這是因為vue路由的mode是history模式。
解決方法:
把所有的請求全部轉(zhuǎn)發(fā)到http://www.xxx.com/ibms/index.html上就可以了
我這里用的是apache做的web服務(wù)器,在ibms目錄下新建.htaccess文件(跟index.html同級),編輯代碼。

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /ibms/ RewriteRule ^index.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /ibms/index.html [L]</IfModule>
這個配置的作用就是把所有服務(wù)器上不存在請求全部轉(zhuǎn)發(fā)到index.html上去。(PS:記得要重啟apache服務(wù)器哦)
到此這篇關(guān)于Vue項目打包部署到apache服務(wù)器的方法步驟的文章就介紹到這了,更多相關(guān)Vue項目打包部署到apache內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IntelliJ IDEA安裝插件的方法步驟2. php模擬實現(xiàn)斗地主發(fā)牌3. 理解PHP5中static和const關(guān)鍵字4. spring acegi security 1.0.0 發(fā)布5. vue 使用localstorage實現(xiàn)面包屑的操作6. MyBatis中的JdbcType映射使用詳解7. Vuex localStorage的具體使用8. Python random庫使用方法及異常處理方案9. .Net Core使用Coravel實現(xiàn)任務(wù)調(diào)度的完整步驟10. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實現(xiàn)

網(wǎng)公網(wǎng)安備