vue項目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題
打包后的項目靜態(tài)資源無法使用,導致頁面空白
靜態(tài)資源無法使用,那就說明項目打包后,圖片和其他靜態(tài)資源文件相對路徑不對,此時找到config里面的index.js,在build模塊下加入assetsPublicPath: './',如下圖所示,

在History模式下配合使用nginx運行打包后的項目
當刷新當前路由的時候,就會出現(xiàn)404的狀況,其實這是因為當刷新當前頁面時候,所需要訪問的資源在服務器上找不到,也就是說,我們在Vue開發(fā)應用的過程中,設置路由的路徑不是真實存在的路徑,并且使用了history模式。
這是由于我們的應用是一個單頁的客戶端應用,如果沒有適當?shù)姆掌髋渲茫脩粼跒g覽器中直接訪問https://example.com/user/id(假設此url在開發(fā)中是可以訪問的),也會得到一個 404 錯誤。
解決方法:在部署項目的服務器上找到nginx的配置文件nginx.conf添加以下內容
server {
listen 80; #監(jiān)聽80端口
server_name audio; #設置server_name名為audio,切記不能與配置文件中的其他server_name重名
location / {
try_files $uri $uri/ /index.html; #使用history模式進行路由
root C:\phpstudy_pro\WWW; #將打包好的dist文件夾中的內容放進WWW文件夾中
autoindex on; #開啟nginx目錄瀏覽功能
autoindex_exact_size off; #文件大小從KB開始顯示
charset utf-8; #顯示中文
add_header 'Access-Control-Allow-Origin' '*'; #允許來自所有的訪問地址
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; #支持請求方式
add_header 'Access-Control-Allow-Headers' 'Content-Type,*';
add_header 'Access-Control-Allow-Headers' 'x_hztz_token,*';
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}注意:配置完nginx后使用命令進行重載
nginx -s reload
或手動重啟nginx服務
到此這篇關于vue項目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題的文章就介紹到這了,更多相關vue靜態(tài)資源無法加載和路由加載無效內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue2 Vue-cli中使用Typescript的配置詳解
Vue作為前端三大框架之一截至到目前在github上以收獲44,873顆星,足以說明其以悄然成為主流。下面這篇文章主要給大家介紹了關于Vue2 Vue-cli中使用Typescript的配置的相關資料,需要的朋友可以參考下。2017-07-07
vue鼠標hover(懸停)改變background-color移入變色問題
這篇文章主要介紹了vue鼠標hover(懸停)改變background-color移入變色問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10
vue2基本響應式實現(xiàn)方式之讓數(shù)組也變成響應式
這篇文章主要介紹了vue2基本響應式實現(xiàn)方式之讓數(shù)組也變成響應式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
vue - vue.config.js中devServer配置方式
今天小編就為大家分享一篇vue - vue.config.js中devServer配置方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Vue3.5中新增的baseWatch函數(shù)用法詳解
在Vue 3.5.0-beta.3版本中新增了一個base watch函數(shù),這個函數(shù)用法和我們熟知的watch API一模一樣,下面就跟隨小編一起來了解一下它的具體使用吧2024-11-11

