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