2017-07-24 33 views
1

我從webpack template引導我的應用程序並向其添加路由/edit/:filenameVue路由器不會捕獲webpack模板中帶點的路由

問題是,包含點的文件名由Express處理,而不是由我的Vue應用程序處理。

換句話說,/edit/123是匹配的路線,但/edit/123.json/edit/123.txt是不是,我從Express得到404。

如何在我的路線中匹配任何東西或至少有/edit/anyfilename.json

+0

https://forum.vuejs.org/t/using-dots-in-vue-route-urls-webpack/5860/2可能會有幫助。 –

回答

2

我在Vue論壇上有一個answerLinus Borg。 Vue webpack template使用connect-history-api-fallback將所有HTTP請求重定向到index.html。除非disableDotRule設置爲true,否則它會跳過路徑中的點的HTTP請求。正確的配置是

app.use(require('connect-history-api-fallback')({ 
    disableDotRule: true, 
    rewrites: [ 
    {from: /\/app.js/, to: '/app.js'} 
    ] 
})) 

注意,我們要一個額外的重寫添加到/app.js,使其不重定向到index.html