我一直在使用游戏框架和角度两年多。我的问题是我需要确定这两者之间的最佳......
可以在单个项目中合并游戏和角度,并且播放路线可以直接提供角度路线。这样,播放MVC的视图部分直接替换角度架构。我已经知道的缺点是,当你计划从另一个媒体(可能像android)获取API播放或者你可能想要握手以获得其他媒体的授权时,它是不可管理的。
当您使用单独的角度应用程序(如自耕农或从头开始)时,第二种方式更清晰,其中游戏将作为API服务平台提供,而角度将在独立服务器中运行。如果我不使用任何云,我不太确定部署角度的负担。或类似的事情。
现在我的问题是哪种方式更优选,更现代,更符合逻辑?
答案 0 :(得分:0)
你的分析是正确的,第一种方法失去了预先路由角度可以提供的功能,而第二种方法对于小型应用程序(运行两台服务器)来说太过分了。
我们使用了两种方法的组合,运行角度和放大器。在相同的文件夹/存储库中播放。诀窍是将角色“构建”它的工件放入稍后由play作为公共文件夹加载的文件夹中。然后将api路由与静态路由分开,例如,所有/ public / * url都转到公共文件夹。而api / *则路由到标准播放控制器。
添加外部文件夹以播放公共文件夹可以使用build.sbt中的以下行完成
unmanagedResourceDirectories in Assets += baseDirectory.value / "client/build"
See this answer了解详情。
所以最终项目看起来像这样:
当然,此解决方案可能存在变体,例如,不是将客户端/构建添加为非托管资源文件夹,而是将其构建时的内容复制到标准播放公用文件夹。