2016-01-06 160 views

回答

164

你會其實只是想設置mode'history'

const router = new VueRouter({ 
    mode: 'history' 
}) 

確保你的服務器被配置爲處理這些鏈接,但。 https://router.vuejs.org/en/essentials/history-mode.html

或者如果你正在使用Router那麼你可以爲

const router = new Router({ 
    mode: 'history', 
    routes: [ 
    { path: '*', component: NotFoundComponent } 
    ] 
}) 

使用對於Vue公司1個使用這個:

const router = new VueRouter({ 
history: 'true' 
}) 
+1

感謝比爾這裏,你可以刪除hashbang假太這裏的路徑是代碼:'常量路由器=新VueRouter({ \t歷史:真 })' – DokiCRO

+0

很酷。我會更新我的答案。 –

+1

我在玩https://github.com/vuejs/vue-hackernews並添加了'{history:true}'適用於第一頁,但其餘路由失敗。 –

5
window.router = new VueRouter({ 
    hashbang: false, 
    //abstract: true, 
    history: true, 
    mode: 'html5', 
    linkActiveClass: 'active', 
    transitionOnLoad: true, 
    root: '/' 
}); 

和服務器配置正確 在Apache你應該寫的URL重寫

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.html$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.html [L] 
</IfModule> 
34

對於vue.js 2使用以下命令:

const router = new VueRouter({ 
mode: 'history' 
}) 
+0

在這裏給我保存,謝謝 – TheGeekZn

3

哈希是默認VUE路由器模式設置,它被設置因爲散列,應用程序並不需要連接服務器服務網址。要更改它,您應該配置您的服務器並將模式設置爲HTML5 History API模式。

對於服務器的配置,這是幫你設置Apache,Nginx的和Node.js的服務器的鏈接:

https://router.vuejs.org/en/essentials/history-mode.html

那麼你應該確保,即VUE路由器模式設置類似如下:

vue-router version 2。X

const router = new VueRouter({ 
    mode: 'history', 
    routes: [...] 
}) 

需要明確的是,這些都是VUE路由器模式可以選擇:「哈希」 | 「歷史」| 「抽象」

1

您必須配置這樣VUE JS 2

const router = new VueRouter({ 
    mode: 'history' 
}) 
+0

已經有一個與你不同的工作解決方案解釋瞭解決方案。請重新考慮您的答案,您是否認爲您在現有的接受答案中添加了一些重要的細節或信息? –