【发布时间】:2013-09-18 05:54:22
【问题描述】:
我拥有一个 Play 2.1 应用程序。
最初,我使用 Play 2.1 中的默认模板机制,直到我 .. 学习了 AngularJS。
现在,我显然希望我的客户端是一个 AngularJS 应用程序。
但是,在网上冲浪时,我发现没有明确的方法来实现它:
让 Play 表现为一个简单的 RESTful 应用程序(删除
view文件夹)并创建一个完全不同的项目来构建视图(由 grunt.js 初始化的 AngularJS 应用程序)。
优点:可能不那么混乱,前端和后端团队可以轻松地分开工作。 缺点:AngularJS 应用需要另一个 HTTP 服务器。尝试将 AngularJS 应用程序与传统 Play 的工作流程完全集成。
缺点:对于像AngularJS这样相当复杂的框架,它会导致模板管理混乱例如:scala.html(用于Play)/tpl.html(用于Angular)... =>混乱。在 play 项目中创建一个自定义文件夹,但与 Play 脚手架创建的初始文件夹不同。例如,我们将其称为
myangularview,而不是传统的view。然后,将 grunt.js 生成的静态内容发布到 Play 的public文件夹中,以便通过 Play 的路由从浏览器访问。
优点:组件之间的 SRP 仍然相当尊重,不需要像 1 中那样为客户端使用另一个轻量级 HTTP 服务器。
我指出了我自己对优缺点的看法。
什么是实现 Play 与 Angular 结合的好方法?
【问题讨论】:
标签: rest angularjs architecture playframework-2.0 playframework-2.1