Durandal跨域路由到模块

时间:2013-11-20 04:21:06

标签: requirejs durandal hottowel

如何定义位于不同域(或子域)上的模块的路由?

我们的想法是将UI组件化并部署到多个Azure角色:

  • 包含导航和品牌的Chrome / Shell应用
  • 功能区1(说订购页)
  • 功能区2(所有用户管理内容)

chrome / shell导航将保持跨功能区域的链接并将它们全部拉到一起。我做了一堆试验/错误和搜索,但没有取得多大进展(除了学习路由和require.js如何工作)。感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一种方法:

  1. 请勿调用router.makeRelative()
  2. 在routes.push()
  3. 中指定完整路线(例如http://x.com/test/App/viewmodels/test.js
  4. 在require.config中有userXhr:return true
  5. 您可能需要在服务器端启用CORS
  6. 注意: Durandal确实希望视图约定使用test.js.html,但我希望你可以通过扩展路由器来解决这个问题。

    根据您优化/最小化/聚合您的JavaScript的方式,这可能无效,因为它依赖于Require。