【问题标题】:Durandal routes to modules across domainsDurandal 跨域路由到模块
【发布时间】:2014-01-15 10:37:41
【问题描述】:

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

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

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

chrome/shell nav 将保存跨功能区域的链接并将它们拉到一起。我已经做了很多试验/错误和搜索,但没有取得太大进展(除了学习路由和 require.js 的工作方式)。感谢任何帮助。

谢谢!

【问题讨论】:

  • 您是否考虑过创建多个 SPA,每个区域一个?
  • 然后我们在 chrome/shell 应用程序中复制逻辑。这是我们的后备方案,但如果可能的话,我们希望不必处理重复。
  • 出于兴趣有什么好处?后端的并发后台工作人员会不会更有用以提高性能?
  • 这不是性能问题,它是为了分离特征区域,所以我们可以独立发布系统的块,保证对一个区域的更改不会破坏另一个区域,等等......

标签: requirejs durandal hottowel


【解决方案1】:

我想出了一个办法:

  1. 不要调用 router.makeRelative()
  2. 在 routes.push() 中指定完整的路由(例如 http://x.com/test/App/viewmodels/test.js
  3. 在 require.config 中有 userXhr: return true
  4. 您可能需要在服务器端启用 CORS

注意: Durandal 确实希望视图约定使用 test.js.html,但我希望您可以通过扩展路由器来解决这个问题。

取决于您如何优化/最小化/聚合您的 javascript,这可能无法正常工作,因为它依赖于 Require。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2013-05-16
    • 1970-01-01
    • 2013-05-21
    • 2018-04-19
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多