1、vue 在nginx下頁面刷新出現404html
在網上翻遍了全部這樣問題的解決辦法,全都是一個解決辦法也是正確的解決辦法,(後來在vue官網上關於history方式出現404解決方法也是這樣說的),只是沒有表達完整,可能會讓比較急於解決這個問題的人簡單複製卻始終解決不了問題vue
nginx正確的配置:nginx
一、若是是在根目錄則配置以下vue-router
location / {
root /;
index index.html;
try_files $uri $uri/ /index.html
}ui
2.若是是有特定目錄spa
location /xx/xx/ {
root /;
index index.html;
try_files $uri $uri/ /xx/xx/index.html
}component
附上官方vue-router的說明:https://router.vuejs.org/zh-cn/essentials/history-mode.htmlrouter
2、vue打包後發佈在nginx下,頁面加載了js可是頁面顯示空白htm
這個問題是由於在配置router的時候沒有帶上本身的項目的目錄,在配置router那裏加上項目路徑就能夠了io
1.直接寫在router上
若是直接是根目錄就將/xx/xxx改爲/
export default new Router({
mode: 'history',
base: '/xx/xxx',
routes: [
{
path: '/',
name: 'Login',
component: signIn
}
]
})
2.寫成全局變量在配置文件裏,以便發佈
export default new Router({
mode: 'history',
base:env.base_build_path,
routes: [
{
path: '/',
name: 'Login',
component: signIn
}
]
})
注:這個env.base_build_path就是配置文件裏的一個全局變量,也是項目路徑(只做爲本身的記錄,有須要的人作爲參考)