Vue-cli項(xiàng)目部署到Nginx服務(wù)器的方法
0. Nginx使用
以windows版為例,下載niginx壓縮包并解壓到任意目錄,雙擊nginx.exe,在瀏覽器中訪問http://localhost,如果出現(xiàn)Welcome to nginx!頁面則說明成功。
nginx常用命令如下:
nginx -h # 打開幫助 nginx -t # 檢查配置文件是否正確 # 以下命令均要先啟動(dòng)nginx才能執(zhí)行 nginx -s stop # 停止 nginx -s quit # 退出 nginx -s reopen # 重新啟動(dòng)(注意不會(huì)重新讀取配置文件) nginx -s reload # 重新讀取配置文件
1. 部署項(xiàng)目到Nginx根目錄
對于vue-cli創(chuàng)建的項(xiàng)目,修改vue.config.js文件(位于項(xiàng)目根目錄下,沒有的話自行創(chuàng)建):
module.exports = { // 開發(fā)環(huán)境中使用的端口 devServer: { port: 8001 }, // 取消生成map文件(map文件可以準(zhǔn)確的輸出是哪一行哪一列有錯(cuò)) productionSourceMap: false, // 開發(fā)環(huán)境和部署環(huán)境的路徑 publicPath: process.env.NODE_ENV === 'production' ? '/' : '/my/', configureWebpack: (config) => { // 增加 iview-loader config.module.rules[0].use.push({ loader: 'iview-loader', options: { prefix: false } }) // 在命令行使用 vue inspect > o.js 可以檢查修改后的webpack配置文件 } }
在vue項(xiàng)目根目錄中使用命令npm run build創(chuàng)建輸出文件,將dist文件夾下的所有內(nèi)容復(fù)制到nginx目錄下的webapp/內(nèi)(沒有的話自行創(chuàng)建)。
修改nginx目錄中的conf/nginx.conf文件,在 http -> server 節(jié)點(diǎn)中,修改location節(jié)的內(nèi)容:
location / { root webapp; index index.html index.htm; }
在nginx根目錄使用命令nginx -s reload即可在瀏覽器中通過http://localhost訪問項(xiàng)目。
2. 多個(gè)項(xiàng)目部署到Nginx
有時(shí)一個(gè)Nginx中放了好幾個(gè)子項(xiàng)目,需要將不同的項(xiàng)目通過不同的路徑來訪問。
對于項(xiàng)目1而言,修改vue.config.js文件的publicPath:
publicPath: '/vue1/'
對于項(xiàng)目2而言,修改vue.config.js文件的publicPath:
publicPath: '/vue2/'
分別在vue項(xiàng)目根目錄中使用命令npm run build創(chuàng)建輸出文件,將dist文件夾下的所有內(nèi)容復(fù)制到nginx目錄下的webapp/vue1和webapp/vue2內(nèi)(沒有的話自行創(chuàng)建)。
修改nginx目錄中的conf/nginx.conf文件,在 http -> server 節(jié)點(diǎn)中,修改location節(jié)的內(nèi)容:
location /vue1 { root webapp; index index.html index.htm; } location /vue2 { root webapp; index index.html index.htm; }
在nginx根目錄使用命令nginx -s reload即可在瀏覽器中通過http://localhost/vue1、http://localhost/vue2訪問項(xiàng)目1、項(xiàng)目2。
3. 端口代理
當(dāng)前后端項(xiàng)目分別部署在同一臺(tái)機(jī)器上時(shí),由于無法使用相同的端口,故后端一般會(huì)將端口號設(shè)置成不同的值(例如8080),但是當(dāng)前端向后端請求資源時(shí)還要加上端口號,未免顯得麻煩,故利用可以nginx將前端的指定路徑代理到后端的8080端口上。
在conf/nginx.conf文件中增加location:
location /api { proxy_pass http://localhost:8080/api; }
這樣,當(dāng)前端訪問/api路徑時(shí),實(shí)際上訪問的是http://localhost:8080/api路徑。
總結(jié)
以上所述是小編給大家介紹的Vue-cli項(xiàng)目部署到Nginx服務(wù)器的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
使用vue-resource進(jìn)行數(shù)據(jù)交互的實(shí)例
下面小編就為大家?guī)硪黄褂胿ue-resource進(jìn)行數(shù)據(jù)交互的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09Vue報(bào)錯(cuò)Syntax?Error:TypeError:?this.getOptions?is?not?a?
前幾天在vue運(yùn)行項(xiàng)目過程中報(bào)錯(cuò)了,所以下面這篇文章主要給大家介紹了關(guān)于Vue報(bào)錯(cuò)Syntax?Error:TypeError:?this.getOptions?is?not?a?function的解決方法,需要的朋友可以參考下2022-07-07Vue項(xiàng)目history模式下微信分享爬坑總結(jié)
這篇文章主要介紹了Vue項(xiàng)目history模式下微信分享爬坑總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù)
這篇文章主要介紹了關(guān)于Vue的?Vuex的4個(gè)輔助函數(shù),輔助函數(shù)的好處就是幫助我們簡化了獲取store中state、getter、mutation和action,下面我們一起來看看文章具體的舉例說明吧,需要的小伙伴也可以參考一下2021-12-12vue項(xiàng)目中axios請求網(wǎng)絡(luò)接口封裝的示例代碼
這篇文章主要介紹了vue項(xiàng)目中axios請求網(wǎng)絡(luò)接口封裝的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12