1

我正在使用 Durandal 开发 SPA,到目前为止它非常棒。手头的挑战是 - 一些视图和视图模型位于不同的服务器 (SERVER2) 中,应用程序必须访问服务器并在 SERVER1 中的 SPA 中呈现内容。

从目前所做的分析来看,router 和 viewLocator 提供了可以为不同结构取值的使用约定,但这始终着眼于相同的应用程序级别。对于手头的场景,视图需要来自不同的服务器 - http://server2/anotherapp/app/views/someview.html.

这有可能实现吗?

4

1 回答 1

1

是的,这是可能的。

Durandal 使用 RequireJs 来解析和加载视图和视图模型。一旦你正确设置了 requireJS 配置,Durandal 将从不同的服务器加载视图和视图模型,而不知道它们的区别。

看看这个答案,它描述了如何设置 RequireJS 来解析来自第二个服务器的某些路径: RequireJS:有没有办法实现多个基本 URL?

它的要点是您可以在路径中配置一个元素以解析到不同的服务器。如果您只有几个模块,您可以为整个路径设置别名,但如果您有很多文件,您可能需要重新考虑文件的组织结构,以便您可以将第二台服务器中的所有文件分组到一个公共小路。

你也许可以配置或调整 Durandal 来做你想做的事,但我认为最好的解决方案是配置 RequireJS。

于 2013-04-15T13:12:43.487 回答