尝试完全使用angular.js
和Play Framework 2.1
。
我的第一步是安装angular.js
和yeoman`:npm,bower,.grunt,...一个完整的js工具包。似乎是“标准”的代码组织。
然后我添加了Play 2.1 Scala版本。代码布局遵循PlayFramework
的标准当我希望我的angular.js
服务与真实的REST操作交谈时,由于使用了不同的端口,我遇到了CORS
个问题:9000(yeoman
)和9001(play run 9001
)。
有哪些选项?有什么解决方案?为什么? (我认为没有独特的或最好的解决方案)。
我知道候选人是:
play-yeoman sbt plugins(我的Windows环境没有成功 - 请好心的)。
CORS解决方法(将.withheader添加到播放结果中)。
WebJars为JS库提供“Maven-like”依赖。
最后一件重要的事情是运行测试。我们需要轻松运行angularjs
测试套件(使用Karma),我们也需要运行Scala测试。并且,如果可能的话,使用angular的人可以使用所有可用的Web资源而不必过于担心其特定的环境。我会说,越标准越好。
更新1:该问题旨在讨论每个解决方案的用例:它们的约束,吸引力,代码组织和多个应用程序访问REST服务的体系结构。
答案 0 :(得分:0)
您可以在DEV模式下更改响应标头:http://rockyj.in/2013/04/01/building_single_page_applications_and_cors.html
如果您在其他服务器上运行资源,或者将/ assets / *上的所有请求重定向到其他服务器,我看不到您可以执行的任何其他操作。