1

我正在开发一个带有 Spring Roo REST API 后端和 Dojo 单页客户端应用程序的 Web 应用程序。Spring Roo 提供了一个方便的管理界面(带有 Web MVC)开箱即用,所以我想保持它对管理职责的可访问性。

但是,我希望 Dojo 应用程序尽可能与服务器应用程序分离。服务器是我们期望开发新客户端应用程序的平台,因此我想单独开发“官方”客户端 Web 应用程序。

构建应用程序代码的最佳(或什至只是一种好)方法是什么?将服务器单独用作 API 和管理界面很容易,但是所有 Dojo JS 都存在于哪里?它在 Spring webapp 目录中可以正常工作,但是一旦结构变得更复杂或移动到其他任何地方,它就会很快变得复杂(Spring URL 映射对我来说仍然非常不透明)。理想情况下,它可以本地托管在开发机器上,这也引入了所有跨域 JS 问题。

4

1 回答 1

1

由于后一个版本的 dojo 工具包问世,我们实际上不必区分同域和跨域 javascript 模块。使用 dojo 加载器,您可以从任何地方拉入模块。

我建议创建自己的命名空间,例如com.yourmodule,然后在配置中引用它的位置。例如; 您可以为 js 应用程序创建一个主机“arbitrary.domain”并将其放在“/com/yourmodule/”文件夹中。com.yourmodule.application 包含应用程序的引导和初始化。此 ofc 将位于文件“/com/yourmodule/application.js”中。

第一个要求(或通过 dojoConfig)您指定包声明,指向命名空间位置,有点像这样 - 遵循上面的示例命名约定。

require({ packages : [
    { 
       name: 'com.yourmodule', 
       location: 'http://arbitrary.domain/com/yourmodule'
    }
]}, [ "com/yourmodule/application" ], function(Application) {

    window.application = new Application();

});
于 2012-09-22T19:22:07.433 回答