用于多个 SPA 的 Durandal 和 MVC4 区域

2024-03-13

我有一个带有区域的互联网应用程序 mvc4,对于我的组织来说,每个区域代表一个 SPA,通过“管理 NuGet 包”我安装了“Durandal 1.2.0”、“Durandal Transitions 1.2.0”和“Durandal Router 1.2.0”。我组织了文件夹并从 Durandal 的文件夹“App”中退出“views”和“viewmodels”,并将新视图放入 mvc4 区域的文件夹“VIews”中,例如:

区域-->新建区域-->视图-->ControllerFolder-->视图-->shell.html

然后我将“viewmodels”放入“Script”文件夹中,例如:

脚本-->NewArea-->ControllerFolder-->viewmodels-->shell.js

脚本-->NewArea-->ControllerFolder-->main.js

然后我更改了 durandal JS 的路径,例如在 main.js 中:

define(['../../../App/durandal/app',
    '../../../App/durandal/viewLocator',
    '../../../App/durandal/system',
    '../../../App/durandal/plugins/router',
    '../../../App/services/logger'],

我在下一行更改了 main.js:

viewLocator.useConvention('viewmodels', '../Areas/NewArea/Views/ControllerFolder/views');

但是文件夹的配置失败,因为下一行在其定义中多次调用模块“viewLocator”,并使用默认值重写“useConvention”的配置:

app.setRoot('viewmodels/shell', 'entrance');

仅当文件夹“views”和“viewmodels”不在“Durandal”的“App”文件夹下时,才会发生这种行为。

请帮我,如何在同一个项目中拥有多个 SPA?


您可能需要考虑您的部署策略。例如,如果您需要优化此应用程序,则两个 SPA 最终将出现在同一个文件中。但是,您可以创建单独的文件夹,并为每个 SPA 提供自己的 main.js 文件,而不是将它们都放在应用程序文件夹下。

在更高级的场景中,您可以创建一个“引导程序”应用程序来加载一个或另一个 SPA。引导程序将包含两个 SPA 通用的代码。但每个 SPA(和引导程序)都可以独立优化。

有很多选择。主要是考虑您的最终部署策略,这将有助于指导您。

此外,您遇到的上述问题可能与以下事实有关:标准约定可能不适用于您的设置,并且您需要使用自己的映射覆盖某些函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于多个 SPA 的 Durandal 和 MVC4 区域 的相关文章

随机推荐

  • 在 Java 中使用 String 和 Object 的 equals() 方法

    Object o1 new Object Object o2 new Object o1 o2 System out println o1 equals o2 它返回false 它可以返回true 如果评论被删除 为什么同样的事情不适用于S
  • 是否可以对我的 iPhone 应用程序进行逆向工程?

    我创建了一个 iPhone 应用程序 我想将编译后的 app 文件发送到我的客户端 以便他可以在他的设备上安装和测试这个 iPhone 应用程序 他是否有可能查看这个 app文件的内容 比如这个应用程序中使用的资源文件 图像 声音文件等 他
  • 在 PDF 中使用 Javascript 列出 XFA 对象的属性

    我正在尝试创建一个包含多个文本字段的 PDF 文档 这些文本字段的高度可以增长到某个最大值 由于项目的限制 我使用的是 Adob e Designer 7 它很高兴允许使用 Javascript 然而 XFA 中的对象与 HTML DOM
  • 验证不适用于 EntityManager.merge()

    我对我的实体几乎没有验证 例如 NotNull 还有一些一代人 比如 Id GeneratedValue strategy AUTO Column name ID private Long id Column GeneratedValue
  • 如何通过 CloudFront 将对象放入 S3

    我想通过 CloudFront 将图像上传到 S3 如果你看到关于CloudFront的文档 你可以发现cloud front提供了put方法来上传到cloudFront 可能会有人问我为什么使用云端上传到S3 如果你搜索一下 你就能找到解
  • 运算符和操作数的排列算法

    我在一个面试网站上看到了这个问题 我们有 4 个数字 即 n1 n2 n3 n4 我们可以将它们放置在任何 顺序 我们可以在它们之间使用数学运算符 最终结果为 24 为此编写一个算法 需要 4 个数字并返回 false 或 true 最终结
  • Eclipse 给出错误,最近更新后缺少 R.java 文件

    我已经更新了我的SDK and ADT到最新版本 我也更新了Eclipse to Kepler最新一篇之后Juno My ADT版本是22 0 在此更新之后 当我创建新项目时 出现错误 指出R cannot be resolved to a
  • 编写一个http嗅探器

    我想编写一个程序来通过数据包捕获提取系统访问的网站的 URL IP 地址 我认为该 URL 将出现在数据部分中 即不在任何标头中 ethernet ip tcp udp 此类程序有时称为http嗅探器 我不应该使用任何可用的工具 作为初学者
  • 无法解析 IntelliJ Idea IDE 中的符号 javafx.application

    我尝试创建一个JavaFXIntelliJ Idea IDE 中的应用程序 但我收到编译错误 java 包 javafx application 不存在 我已将项目 SDK 和项目语言级别更改为 Java 8 重新加载项目 但没有帮助 然后
  • 如何给 TriangleMesh 中的一些三角形着色?

    我想用不同的颜色为 TriangleMesh 的一些三角形着色 最简单的方法是什么 甚至可以在 fxml 文件中实现 java代码 import javafx application Application import javafx fx
  • 以最小尺寸分割字符串

    我正在编写一个 python 脚本 它将接受点分隔的版本号 它将把这个字符串分成单独的部分 使用句点 作为分隔符 我的脚本最多支持 4 个组件 例如1 2 3 4 然而 用户可以指定less or more组件数量超过 4 个 我的脚本需要
  • 在 Bootstrap 3 导航栏上使用 NAV 和 DIV 有什么区别?

    在最新的 Bootstrap 3 导航栏的示例中 我在网络上找到了各种示例 其中外部导航栏标记是 div class navbar navbar default navbar static top div 和其他例子正在使用
  • Clang:错误:非静态数据成员的使用无效

    这个 gcc 是否过于友善并且做了开发人员认为它会做的事情 或者 clang 对某些事情过于挑剔 我是否遗漏了标准中的一些微妙规则 其中 clang 对此的抱怨实际上是正确的 或者我应该使用第二位代码 这基本上就是 offsetof 的工作
  • 如何在 Java 中将文件路径列表转换为 Hireachial 树

    有人可以给我一些建议吗 我想要获取文件路径列表 只是字符串 并转换为类似层次树的结构 因此有两个任务 解析字符串以创建树 以及创建树或某种映射结构以实际将结果放入其中 第三个任务是解析树以在 html 中显示为树 我使用的是 Java 7
  • Laravel中保存模型时直接设置ID和设置eloquent关联关系有什么区别?

    我有两张桌子 employees and employee types employees有以下字段 id PK 员工类型 ID 外籍 name and employee type有以下字段 id PK title 我雄辩的模型函数是 Em
  • GLSL 版本变更日志?

    我可以在哪里阅读有关 GLSL 从版本 1 1 到 1 2 以及从 1 2 到 1 3 所做的更改和添加的信息吗 谷歌似乎对此不知所措 我真的不想开始阅读完整的规范 1 3版 http www opengl org registry doc
  • 无法将类型字符串用作 sql.NullString

    我正在创建一个gorm model Day is a corresponding day entry type Day struct gorm Model Dateday string json dateday gorm type date
  • 带约束的 Psql COPY 失败

    我在服务器中有一个这样的表 CREATE TABLE example table id BIGSERIAL PRIMARY KEY name VARCHAR 70 NOT NULL status VARCHAR 70 NOT NULL CO
  • Java:构造Locale对象时NullPointerException引起的ExceptionInInitializerError

    我正在为我和其他几个人编写的程序进行本地化 大多数字符串现在以适当的语言从 ini 文件加载 我正在尝试对程序中的货币格式执行相同的操作 但是 当我尝试启动应用程序时 我就会收到运行时异常 我使用 Locale 对象作为一些 NumberF
  • 用于多个 SPA 的 Durandal 和 MVC4 区域

    我有一个带有区域的互联网应用程序 mvc4 对于我的组织来说 每个区域代表一个 SPA 通过 管理 NuGet 包 我安装了 Durandal 1 2 0 Durandal Transitions 1 2 0 和 Durandal Rout