5

有一种观点认为,在构建富浏览器应用程序(JS-heavy)时,它应该被视为单独的应用程序,而不是“后端”应用程序的一部分。我想知道在这种设置中如何实现构建和部署?

假设我有 java WAR 文件,它公开了基于 JSON 的 API(无论是 JAX-RS 还是其他) - 没有视图。然后我有我的前端应用程序的静态内容:js 脚本、html 视图、css 样式、图像等。我可以使用专用的构建工具,例如 GruntJS 用于该项目来缩小/预处理等。

但现在我有点卡住了。这种构建应该是什么结果?仅使用 Grunt 创建的静态文件来分离 WAR?部署情况如何?我应该将这些 WAR 混合到一个成熟的应用程序中还是部署两个单独的例如example.com服务静态和那些静态用于api.example.com获取数据。

另一个问题是关于发展的。因此,我希望将我的 js 和 css 连接并缩小,但这对开发来说并不是那么好(调试很困难等)。在开发模式下拥有单独的源文件并仅在产品构建时连接有什么技巧吗?

4

1 回答 1

0

我从来没有像以前那样涉足过 Java WebDev,所以我无法为您提供具体的帮助。但是这种抽象背后的想法通常是公开一个公共的后端 API,从而能够与任何类型的客户端连接到后端,该客户端以驻留在任何主机上的任何语言编写。如果您碰巧开发了 API 和客户端,您的问题应该是是否有可能需要单独部署客户端和 API。如果有,请单独构建它们。如果没有,不要。就个人而言,我更喜欢您的 api.example.com 和 example.com 方案。

关于您的第二个主题:我曾经构建了一个 ANT 脚本来做到这一点。将您的 JS“类”放在单独的“命名空间”文件中,让脚本连接并缩小它们。您必须以正确的顺序将文件输入到构建脚本中,这在小型项目中很容易管理。如果现在有自动化工具的话,我想知道。

于 2013-04-21T12:05:05.607 回答