Vuejs+vue-router打包+Nginx配置的實(shí)例
其實(shí)這個(gè)網(wǎng)上已經(jīng)有了很多人寫了,為什么我還要再寫這一篇博客?因?yàn)槲矣H身把他們生產(chǎn)的坑給踩了個(gè)通透(攤手。
正文開始
本次的項(xiàng)目是基于vue-cli生成的項(xiàng)目,采用的vue-router的history模式。到這里相信大部人還是類似了,接下來就是一個(gè)坑死人不償命的網(wǎng)上諸多博客都在采用的巨坑。
在進(jìn)行打包的時(shí)候,很多博客里都寫了,將/config/index.js下,build中的assetsPublicPath從/改為./。我很后悔,為什么當(dāng)初這樣照做的時(shí)候不去思考為什么,為什么要這樣做,憑什么?如果這個(gè)有問題為什么webpack生成的時(shí)候不改反而一直放在那里?是誰傻?問題先放在這里,我們先按照那些教程走。修改完后npm run build,這樣在你的項(xiàng)目下就生成了一個(gè)dist文件夾,里面就是生成的靜態(tài)內(nèi)容。假設(shè)現(xiàn)在你的dist文件夾已經(jīng)在你的云服務(wù)器中了。接下來開始nginx的配置。
個(gè)人采用的是sudo apt-get install nginx安裝的nginx,現(xiàn)在在命令行下,
cd /etc/nginx/conf.d/, 并在該目錄下 sudo touch vueSite.conf,接下來修改該文件內(nèi)容。
server { listen 3000; # 假設(shè)你項(xiàng)目監(jiān)聽的是3000端口 root /path/to/dist; location / { try_files $uri $uri/ /index.html; } }
然后
sudo nginx -t檢查正確性,無誤后sudo nginx -s reload。
接下來在你的瀏覽器下訪問cloudserverhost:3000,就可以訪問到你的項(xiàng)目主頁了。
目前來看似乎是一切順利呢,網(wǎng)上的教程真棒棒哦~
然后你可以試試,在cloudserverhost:3000/path/subpath下刷新試試,你會(huì)發(fā)現(xiàn),頁面沒有了,瀏覽器器里會(huì)報(bào)錯(cuò),你會(huì)發(fā)現(xiàn)請(qǐng)求的js/css等都變成了html頁面的內(nèi)容。這個(gè)問題就是出在了./下,我不知道第一個(gè)這樣寫出來的人他的項(xiàng)目是不是很幸運(yùn)的只有一級(jí)路徑,又或者他從來不會(huì)嘗試去刷新頁面,否則這個(gè)問題是無可避免的,為什么呢?./是相對(duì)路徑,/則是絕對(duì)路徑,當(dāng)你在二級(jí)路徑下刷新重新請(qǐng)求資源,你的請(qǐng)求路徑是什么?把請(qǐng)求路徑寫出來我們就會(huì)發(fā)現(xiàn)問題出在哪里了。很難過,我寫這篇博客只用不到10分鐘,找到這個(gè)問題卻用了差不多10小時(shí),查了各種方法,我真是萬萬沒想到。
因此,正式上線的項(xiàng)目,沒有必要修改/config/index.js下,build中的assetsPublicPath。配置好nginx,你的項(xiàng)目就可以開始起飛了!
以上這篇Vuejs+vue-router打包+Nginx配置的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue/React子組件實(shí)例暴露方法(TypeScript)
最近幾個(gè)月都在用TS開發(fā)各種項(xiàng)目,框架有涉及到Vue3,React18等,記錄一下Vue/React組件暴露出變量/函數(shù)的方法的寫法,對(duì)vue?react組件暴露方法相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧2022-11-11vue.js移動(dòng)端app實(shí)戰(zhàn)1:初始配置詳解
這篇文章主要介紹了vue.js移動(dòng)端app實(shí)戰(zhàn)1:初始配置詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07vue2.0 下拉框默認(rèn)標(biāo)題設(shè)置方法
今天小編就為大家分享一篇vue2.0 下拉框默認(rèn)標(biāo)題設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08Vue+Element?UI實(shí)現(xiàn)復(fù)制當(dāng)前行數(shù)據(jù)的功能
這篇文章主要介紹了如何使用Vue?+?Element?UI?實(shí)現(xiàn)在列表的操作欄新增一個(gè)復(fù)制按鈕,復(fù)制當(dāng)前行的數(shù)據(jù)可以打開新增彈窗后亦可以跳轉(zhuǎn)到新增頁面,感興趣的小伙伴可以參考下2023-11-11vue兩組件間值傳遞 $router.push實(shí)現(xiàn)方法
兩組件間傳值,可能包含多種情況,這篇文章主要介紹了vue兩組件間值傳遞 $router.push實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05vue實(shí)現(xiàn)文章點(diǎn)贊和差評(píng)功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)文章點(diǎn)贊和差評(píng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04使用vue-antDesign menu頁面方式(添加面包屑跳轉(zhuǎn))
這篇文章主要介紹了使用vue-antDesign menu頁面方式(添加面包屑跳轉(zhuǎn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01淺談VUE項(xiàng)目打包后運(yùn)行頁面一片白問題
本文主要介紹了淺談VUE項(xiàng)目打包后運(yùn)行頁面一片白問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-01-01