我有一个互联网应用mvc4与区域,为我的组织每个区域代表一个SPA,并通过“管理NuGet包”我安装了“Durandal 1.2.0”,“Durandal过渡1.2.0”和“Durandal路由器1.2.0”。我组织了文件夹并退出Durandal文件夹“App”中的“views”和“viewmodels”,并将新视图置于mvc4区域的“VIews”文件夹中,例如:Durandal和MVC4区域的多个SPA
Areas - > NewArea - > Views - > ControllerFolder - >视图 - > shell.html
然后我把“ “的ViewModels” 中的 “脚本” 文件夹,例如:
脚本 - > NewArea - > ControllerFolder - >的ViewModels - > shell.js
脚本 - > NewArea - > ControllerFolder - > main.js
然后,我改变路径,迪朗达尔的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');
这种行为只发生在文件夹“意见”的d“viewmodels”不会留在“Durandal”的“App”文件夹下。
请帮助我,如何在同一个项目中拥有各种SPA?
感谢您的建议,也许您可以给我更多关于“bootstrapper”的信息。 – kuskunko 2013-03-19 15:14:17