2014-12-03 51 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

相關問題