溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何打包Vue項目部署到apache服務器

發布時間:2021-02-02 09:44:37 來源:億速云 閱讀:383 作者:小新 欄目:開發技術

這篇文章主要介紹了如何打包Vue項目部署到apache服務器,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

vue項目在開發環境下,讓項目運行起來,是通過npm run dev命令,原理是在本地搭建了一個express服務器。

但是在服務器上就不是這樣的,必須要通npm run build命令來對整個項目進行打包,打包后會在項目目錄下生成一個dist文件夾,內容如下:

如何打包Vue項目部署到apache服務器

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

如何打包Vue項目部署到apache服務器

遇到的問題:

1. 直接去訪問http://www.xxx.com/ibms/,會發現網頁是白屏的,什么都沒有,這就比較奇怪了,其實是因為資源加載的路徑有問題!

解決方法:

在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打包,然后丟到服務器上ibms文件夾下,這時頁面就可以正常訪問了。

2. 在當前頁面刷新或者用url欄訪問某個子頁面,結果發現網頁404了,這是因為vue路由的mode是history模式。

解決方法:

把所有的請求全部轉發到http://www.xxx.com/ibms/index.html上就可以了

我這里用的是apache做的web服務器,在ibms目錄下新建.htaccess文件(跟index.html同級),編輯代碼。

如何打包Vue項目部署到apache服務器

<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>

這個配置的作用就是把所有服務器上不存在請求全部轉發到index.html上去。(PS:記得要重啟apache服務器哦)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何打包Vue項目部署到apache服務器”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女