任何有關將.Net MVC 5項目移植到Angular 2的方法的建議。這是一個很大的項目,我們不能等待完整的轉換。當我們可以一次遷移幾頁並且仍然繼續使用舊項目時,我們正在尋求一種平行移動。將MVC 5項目移植到Angular 2
我看到了有關如何在MVC 5中使用Angular 2的解決方案,但我們不想在這裏合併關注點,因爲我們在使用另一個javascript框架時遇到了一些問題。
您的幫助表示讚賞。
任何有關將.Net MVC 5項目移植到Angular 2的方法的建議。這是一個很大的項目,我們不能等待完整的轉換。當我們可以一次遷移幾頁並且仍然繼續使用舊項目時,我們正在尋求一種平行移動。將MVC 5項目移植到Angular 2
我看到了有關如何在MVC 5中使用Angular 2的解決方案,但我們不想在這裏合併關注點,因爲我們在使用另一個javascript框架時遇到了一些問題。
您的幫助表示讚賞。
一段時間,你的一些路由將由asp.net mvc serverside處理,而一些路由將由ng2 app clientside處理。
首先,想象一下當轉換完成後,您的應用程序將會是什麼樣子:您將擁有一個可以啓動您的應用程序的razor cshtml視圖。繼續前進,現在創建這個視圖,稱之爲「ngappview.cshtml」。它會是這個樣子:
<!DOCTYPE html>
<html>
<head>
<base href="/">
<link href='~/assets/styles.bundle.min.css?v=5359476866832222' rel="stylesheet">
</head>
<body>
<app>
loading...
</app>
<script type='text/javascript' src='~/assets/main.bundle.min.js?v=5359476866832222'></script>
</body>
</html>
現在,服務器端,每次一個特定的頁面轉換爲NG2應用視圖,只是充當了你的ngappview.cshtml視圖。這裏將是你的MVC控制器:
[Route("someRouteConvertedToNg2")]
public class SomeController: Controller {
public ActionResult ThisIsNowNg2Function() {
return View("~/Views/ngappview.cshtml");
}
}
而且在客戶端上,當你的NG2的應用程序需要調用仍被asp.net的MVC管理服務器端的路由,你將有必須強制回傳到該特定路線。請記住,每回發一次,您將失去您在ng2應用程序中維護的任何狀態;和ng2應用程序將重新加載每ng2視圖(可能很煩人)。一段時間會有點混亂,但最終它會自行排除。
同時,這裏是關於如何最好的(在我看來)設置與asp.net的MVC的NG2項目相關的帖子:https://stackoverflow.com/a/40234393/3532945
謝謝白蘭度。這非常合理,我們正在積極尋找這個選項。如果我們發現處理此問題的任何問題,我會回覆。 – Raj