2015-11-02 76 views
-2

我有非常基本的Symfony2应用程序。我想在其中包含AngularJS。SymFony2中的angularJS?

  1. 我应该在哪里放置我的Angular资源?
  2. 如何包含它们?
  3. 如何角和Symfony的

我看到官方文档说我应该分裂前端和后端,这样就不会有任何冲突之间的通信。

任何脚手架的例子?

回答

1

由于角度资源必须全部可以从网络浏览器直接访问,因此您应该将所有这些文件放在[Symfony app root]/web/目录中。当HTTP请求请求位于那里的文件时,它将被提供而不与框架的其余部分交互。

可选地(最好)这些页面可以被指向路由组件来制作漂亮的URL。

我同意Ben de Laporte关于创建REST API并允许Angular执行所有繁重工作的答案。有一个用于创建REST API的完整文档包,Symfony调用了FOSRestBundle来帮助您入门。通过使用这种策略,您可以像使用外部API一样使用Symfony中的任何操作。

+0

嗨@HPierce,感谢您的反馈。 视图怎么样?既然AngularJS和Symfony都有自己的视图,我应该忽略* .twigs并用角度(定义视图,模板,路由等)构建整个前端?谁会服务于观点? – miksiii

+0

@miksiii,是的。我认为这是一个更好的解决方案。它应该允许你像对待任何其他API一样对待你使用Symfony做的任何事情。 – HPierce

+0

我应该在哪里放置角度视图?在哪里宣布角度应用程序的主视图?我应该将base.html.twig的扩展名重命名为base.html,等等。应用程序结构应该是什么样子?谢谢 – miksiii

3

那么,Symfony2是一个后端框架,AngularJS是一个前端框架。我会建议构建一个REST API并让它返回JSON。在AngularJS中,您可以使用$resource与RESTful服务进行交互。