Vuejs+vue-router打包+Nginx配置的實(shí)例
其實(shí)這個(gè)網(wǎng)上已經(jīng)有了很多人寫(xiě)了,為什么我還要再寫(xiě)這一篇博客?因?yàn)槲矣H身把他們生產(chǎn)的坑給踩了個(gè)通透(攤手。
正文開(kāi)始
本次的項(xiàng)目是基于vue-cli生成的項(xiàng)目,采用的vue-router的history模式。到這里相信大部人還是類似了,接下來(lái)就是一個(gè)坑死人不償命的網(wǎng)上諸多博客都在采用的巨坑。
在進(jìn)行打包的時(shí)候,很多博客里都寫(xiě)了,將/config/index.js下,build中的assetsPublicPath從/改為./。我很后悔,為什么當(dāng)初這樣照做的時(shí)候不去思考為什么,為什么要這樣做,憑什么?如果這個(gè)有問(wèn)題為什么webpack生成的時(shí)候不改反而一直放在那里?是誰(shuí)傻?問(wèn)題先放在這里,我們先按照那些教程走。修改完后npm run build,這樣在你的項(xiàng)目下就生成了一個(gè)dist文件夾,里面就是生成的靜態(tài)內(nèi)容。假設(shè)現(xiàn)在你的dist文件夾已經(jīng)在你的云服務(wù)器中了。接下來(lái)開(kāi)始nginx的配置。
個(gè)人采用的是sudo apt-get install nginx安裝的nginx,現(xiàn)在在命令行下,
cd /etc/nginx/conf.d/, 并在該目錄下 sudo touch vueSite.conf,接下來(lái)修改該文件內(nèi)容。
server {
listen 3000; # 假設(shè)你項(xiàng)目監(jiān)聽(tīng)的是3000端口
root /path/to/dist;
location / {
try_files $uri $uri/ /index.html;
}
}
然后
sudo nginx -t檢查正確性,無(wú)誤后sudo nginx -s reload。
接下來(lái)在你的瀏覽器下訪問(wèn)cloudserverhost:3000,就可以訪問(wèn)到你的項(xiàng)目主頁(yè)了。
目前來(lái)看似乎是一切順利呢,網(wǎng)上的教程真棒棒哦~
然后你可以試試,在cloudserverhost:3000/path/subpath下刷新試試,你會(huì)發(fā)現(xiàn),頁(yè)面沒(méi)有了,瀏覽器器里會(huì)報(bào)錯(cuò),你會(huì)發(fā)現(xiàn)請(qǐng)求的js/css等都變成了html頁(yè)面的內(nèi)容。這個(gè)問(wèn)題就是出在了./下,我不知道第一個(gè)這樣寫(xiě)出來(lái)的人他的項(xiàng)目是不是很幸運(yùn)的只有一級(jí)路徑,又或者他從來(lái)不會(huì)嘗試去刷新頁(yè)面,否則這個(gè)問(wèn)題是無(wú)可避免的,為什么呢?./是相對(duì)路徑,/則是絕對(duì)路徑,當(dāng)你在二級(jí)路徑下刷新重新請(qǐng)求資源,你的請(qǐng)求路徑是什么?把請(qǐng)求路徑寫(xiě)出來(lái)我們就會(huì)發(fā)現(xiàn)問(wèn)題出在哪里了。很難過(guò),我寫(xiě)這篇博客只用不到10分鐘,找到這個(gè)問(wèn)題卻用了差不多10小時(shí),查了各種方法,我真是萬(wàn)萬(wàn)沒(méi)想到。
因此,正式上線的項(xiàng)目,沒(méi)有必要修改/config/index.js下,build中的assetsPublicPath。配置好nginx,你的項(xiàng)目就可以開(kāi)始起飛了!
以上這篇Vuejs+vue-router打包+Nginx配置的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot結(jié)合Vue3實(shí)現(xiàn)簡(jiǎn)單的前后端交互
本文主要介紹了SpringBoot結(jié)合Vue3實(shí)現(xiàn)簡(jiǎn)單的前后端交互,結(jié)合實(shí)際案例,說(shuō)明了如何實(shí)現(xiàn)前后端數(shù)據(jù)的交互,具有一定的?參考價(jià)值,感興趣的可以了解一下2023-08-08
vue3?element-plus?實(shí)現(xiàn)表格數(shù)據(jù)更改功能詳細(xì)步驟
這篇文章主要介紹了vue3 element-plus實(shí)現(xiàn)表格數(shù)據(jù)更改功能,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
vue動(dòng)畫(huà)效果實(shí)現(xiàn)方法示例
這篇文章主要介紹了vue動(dòng)畫(huà)效果實(shí)現(xiàn)方法,結(jié)合完整實(shí)例形式分析了vue.js+animate.css實(shí)現(xiàn)的動(dòng)畫(huà)切換效果相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
vue-cli與webpack處理靜態(tài)資源的方法及webpack打包的坑
這篇文章主要介紹了vue-cli與webpack處理靜態(tài)資源的方法,需要的朋友可以參考下2018-05-05
Vue3?中?watch?與?watchEffect?區(qū)別及用法小結(jié)
這篇文章主要介紹了Vue3?中?watch?與?watchEffect?有什么區(qū)別?watch中需要指明監(jiān)視的屬性,也需要指明監(jiān)視的回調(diào),而watchEffect中不需要指明監(jiān)視的屬性,只需要指明監(jiān)視的回調(diào),回調(diào)函數(shù)中用到哪個(gè)屬性,就監(jiān)視哪個(gè)屬性,本文給大家詳細(xì)介紹,需要的朋友參考下2022-06-06
圖文詳解Vue3沒(méi)有代碼提示問(wèn)題的解決辦法
最近在使用Vue.js時(shí)候沒(méi)有自動(dòng)提示,就很難受,下面這篇文章主要給大家介紹了關(guān)于Vue3沒(méi)有代碼提示問(wèn)題的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
Vue3中關(guān)于ref和reactive的區(qū)別分析
這篇文章主要介紹了vue3關(guān)于ref和reactive的區(qū)別分析,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-06-06

