溫馨提示×

溫馨提示×

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

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

Vuejs+vue-router打包+Nginx配置的示例分析

發布時間:2021-07-23 14:12:01 來源:億速云 閱讀:184 作者:小新 欄目:web開發

這篇文章主要為大家展示了“Vuejs+vue-router打包+Nginx配置的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Vuejs+vue-router打包+Nginx配置的示例分析”這篇文章吧。

正文開始

本次的項目是基于vue-cli生成的項目,采用的vue-router的history模式。到這里相信大部人還是類似了,接下來就是一個坑死人不償命的網上諸多博客都在采用的巨坑。

在進行打包的時候,很多博客里都寫了,將/config/index.js下,build中的assetsPublicPath從/改為./。我很后悔,為什么當初這樣照做的時候不去思考為什么,為什么要這樣做,憑什么?如果這個有問題為什么webpack生成的時候不改反而一直放在那里?是誰傻?問題先放在這里,我們先按照那些教程走。修改完后npm run build,這樣在你的項目下就生成了一個dist文件夾,里面就是生成的靜態內容。假設現在你的dist文件夾已經在你的云服務器中了。接下來開始nginx的配置。

個人采用的是sudo apt-get install nginx安裝的nginx,現在在命令行下,

cd /etc/nginx/conf.d/, 并在該目錄下 sudo touch vueSite.conf,接下來修改該文件內容。

server {
 listen 3000; # 假設你項目監聽的是3000端口
 root /path/to/dist;
 location / {
  try_files $uri $uri/ /index.html;
 }
}

然后

sudo nginx -t檢查正確性,無誤后sudo nginx -s reload。

接下來在你的瀏覽器下訪問cloudserverhost:3000,就可以訪問到你的項目主頁了。

目前來看似乎是一切順利呢,網上的教程真棒棒哦~

然后你可以試試,在cloudserverhost:3000/path/subpath下刷新試試,你會發現,頁面沒有了,瀏覽器器里會報錯,你會發現請求的js/css等都變成了html頁面的內容。這個問題就是出在了./下,我不知道第一個這樣寫出來的人他的項目是不是很幸運的只有一級路徑,又或者他從來不會嘗試去刷新頁面,否則這個問題是無可避免的,為什么呢?./是相對路徑,/則是絕對路徑,當你在二級路徑下刷新重新請求資源,你的請求路徑是什么?把請求路徑寫出來我們就會發現問題出在哪里了。很難過,我寫這篇博客只用不到10分鐘,找到這個問題卻用了差不多10小時,查了各種方法,我真是萬萬沒想到。

因此,正式上線的項目,沒有必要修改/config/index.js下,build中的assetsPublicPath。配置好nginx,你的項目就可以開始起飛了!

以上是“Vuejs+vue-router打包+Nginx配置的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

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