有一种观点认为,在构建丰富的浏览器应用程序(JS-heavy)时,应将其视为单独的应用程序而不是“后端”应用程序的一部分。我想知道在这种设置中如何实现构建和部署?
假设我有java WAR文件暴露基于JSON的API(无论是JAX-RS还是其他) - 没有视图。然后我有我的前端应用程序的静态内容:js脚本html视图,CSS样式,图像等。我可以使用专用的构建工具,例如GruntJS用于缩小/预处理等项目。
但现在我有点卡住了。这种构建应该是什么结果?仅使用Grunt创建的静态文件来分隔WAR?部署怎么样?我应该将这些WAR混合到一个完整的应用程序中,还是部署两个单独的应用程序。 example.com
提供静态,而这些静态使用api.example.com
来获取数据。
另一个问题是关于发展。因此,我希望我的js和css连接和缩小,但它对开发来说不太好(调试很难等)。是否有任何技巧可以在开发模式下使用单独的源文件并仅在prod构建时连接?
答案 0 :(得分:0)
我没有像往常一样涉足Java WebDev,所以我无法用细节来帮助你。但是这种抽象背后的想法通常是暴露公共后端API,因此能够使用任何类型的客户端连接到后端,该客户端使用任何主机上的任何语言编写。如果您碰巧开发了API和客户端,那么您的问题应该是是否有可能需要单独部署客户端和API。如果有,请单独构建它们。如果没有,不要。就个人而言,我赞成你的api.example.com和example.com场景。
关于你的第二个主题: 我曾经构建一个ANT脚本来做到这一点。将JS“Classes”放在单独的“命名空间”文件中,让脚本连接并缩小它们。您必须以正确的顺序将文件输入到构建脚本中,这可以在小项目中轻松管理。如果现在有自动化工具,请点击。