2014-12-03 39 views
-1

我与已经根据他们的应用程序的架构从米格尔·卡斯特罗Pluralsite课程客户工作(http://www.pluralsight.com/courses/building-multi-client-end-to-end-service-oriented-applications在零碎的基础上将应用程序迁移到Durandal?

如果应用程序将要被数据服务,以许多不同的系统,我可以理解的愿望对于这个框架,然而它很容易成为SPA。我想将该应用程序(用于维护和速度)移动到基于Durandal的应用程序。然而,我想要一块一块地攻击它。

是否可以为系统设置Durandal,但是没有整个应用程序呢?例如,说这个应用程序是一个CRM。我想优化调度程序组件以仅加载需要的内容并减少正在加载/返回的数据量。我不想触摸“客户列表/添加”部分。我最终会。我可以让调度程序在Durandal中运行,但客户不在同一应用程序中吗?

我希望我解释得很好。

回答

0

是的,如果我理解正确。

Durandal框架的核心部分是将部分绑定到客户端控制器(称为视图模型)并根据客户端路由显示它们。但是,可能只呈现html页面。

您可以使用的一种策略是创建空的JavaScript对象文字{}作为您的未启用Durandal的页面的视图模型。这将根据客户端路由将现有页面绑定为部分。

你可以在这里阅读更多:

http://durandaljs.com/documentation/Using-The-Router.html

http://durandaljs.com/documentation/View-Location.html

0

如果您正在构建的应用程序将会永远是网络(没有端口到手机或平板电脑),那么你可以只需创建您需要转换的区域的小型Spa,然后将其他区域留在您想要的任何技术(MVC/Nancy/Webforms)中。在您的示例中,应用程序的调度程序部分可以是加载durandal并包含调度所需的所有屏幕的单个html页面。应用程序的这部分将会很快,并使用ajax调用到后端。应用程序的部分应用程序的粗糙客户的东西可以是标准的网页获取/张贴表格。这可能是一个很好的长期解决方案,因为它会给你两全其美。我在一个项目上完成了这项工作,并且运行良好。我将其设置为一个asp.net mvc应用程序。面向客户的前端是所有MVC \ Razor,管理区域是Durandal。我在我的网站的根目录上创建了一个名为SPAS的文件夹,里面有一个包含我的main.js的管理文件夹。这个admin文件夹是一个带有自己的外壳和视图的整个durandal应用程序。为了到达这个页面,我在我的网站上添加了一个控制器和路由“/ Admin”。去这条路线将呈现一个视图与HTML和我的激活脚本requirejs启动durandal应用程序。

<body> 
    <div id="applicationHost"></div> 
    <script type="text/javascript" src="/Scripts/require.js" data-main="/SPAS/Admin/main"></script> 
</body> 

你可以很容易添加多个文件夹内的文件夹的温泉各自包含隔离迪朗达尔应用程序。

+0

我们在我们的应用程序中也使用这种方法。显然,这项技术被命名为“SPA筒仓” - http://theodybrothers.blogspot.com/2014/11/spa-silos.html?m=1 – 2014-12-04 14:30:37

相关问题