我尝试将Vue.js与Symfony 3连接,但不知道如何为它创建正确的路由配置。 项目树看起来像这样:
Project root
- app/
- Resources/
- views/
- default/
- web/
- assets/
- static/
index.html // here Vue is included
从Symfony我提供了一些REST API,到它的路由以/ api /为前缀。我在Vue SPA有一些路线。 问题是如果我在浏览器中按任何Vue路由上的F5,当然这不包括在我的routing.yml中,浏览器从Symfony返回404错误。 一个半工作的决定是当我将index.html的内容放入Resourses / views / default / twig时使用这样的路径:
fallback_for_vue:
path: /{req}
defaults: { _controller: 'AppBundle:Default:index' }
requirements:
req: ".+"
,taken from another question,但这实际上并不是我需要的,因为我不希望我的前端程序员去除 web / 文件夹之外的某个地方。 那么我应该使用哪种Symfony路由配置?
答案 0 :(得分:0)
您需要通配符地址指向您的Vue.js应用程序。否则,当您重新加载时,您向Symfony发送请求,并且它不知道如何处理它。


 vuejs_wildcard_route:
默认值:{_ control:AppBundle:YourController:yourAction}
路径:/ vuejsappbasepath / {whatever}
要求:
无论如何:。*
默认值:
无论如何:null



 我将这个设置与reactjs应用程序配合使用并且工作正常。

&#xA ;YourController是包含yourAction的控制器,使用Vue.js面板加载模板。