2017-07-24 56 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