2017-06-20 137 views
0
import router from './router' 

Vue.use(router)  

new Vue({ 
     el: '#app', 
     router, 
     template: '<App/>', 
     components: { App } 
    }) 

我有這段代碼在我的main.js和其他名爲index.js的文件中我有組件的所有路徑。我想知道如何從網址中刪除散列。任何文檔?即時通訊使用的WebPack如何從網址中刪除hashtag?

回答

1

配置與模式路由器=歷史

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

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

+1

請注意,您的後端應該相應地更新以服務於其他路由。 和我坐上去的工具此消息「遺漏的類型錯誤從」 ./router/index.js' 常量路由器=新VueRouter({:路線, 模式‘歷史’ 路線}) – Cobaltway

+0

的進口途徑:__WEBPACK_IMPORTED_MODULE_2__router __。a不是構造函數「 – user3380738

0

的VUE路由器默認模式爲散模式 - 它使用URL的哈希來模擬一個完整的URL,這樣頁面將不會在URL更改時重新加載。爲了擺脫散列,我們可以使用路由器的歷史記錄模式。 從vue-routerdocument複製,一定要配置服務器(Apache時,Nginx的或其他人),以確保index.html可以匹配,否則會得到404

+0

感謝您的答案。 我按照文檔中的說明操作,但仍然出現此錯誤... 「Uncaught TypeError:__WEBPACK_IMPORTED_MODULE_2__router __。a不是構造函數」 – user3380738

+0

必須有一些錯誤。這裏是我的代碼,路由器:'''從'vue'導入Vue; 從'vue-router'; Vue.use(VueRouter)'''導入VueRouter並導出你的路由器。但是在你的代碼'''從'./router'導入路由器; Vue.use(路由器)'''這是錯誤的,Vue.use(VuePlugin)。或者你顯示你的代碼,package.json&main.js&router.js –

+0

這是我的主要: ' import vue from'vue' 從'./App.vue'導入應用程序 從'vue-router VUE材料 ' 進口 'VUE材料/ DIST/VUE-material.css '從 進口VueMaterial'' 進口vSelect從 './router/index.js' 的Vue VUE-選擇' 從 進口路由' 。使用(路由器) Vue.use(VueMaterial) 常量路由器=新路由器({ 路線:路線, 模式: '歷史' }) Vue.config.productionTip =假 /* eslint-禁用無新*/ 新的Vue({ EL: '#APP', 路由器, 模板: '', 組件:{應用} } )' 正如你所看到的將路由文件(index.js)導入主文件 – user3380738

0

在我的版本Vue.Js的,你將不得不爲新路由器添加mode: 'history'線路。 Vue.use(路由器)

export default new Router({ 
    mode: 'history', 
    routes: [ 
     ... 
    ] 
})