2016-11-13 3 views
0

Ich habe eine von Yeoman generierte Core-Website bereitgestellt (yo aspnet) und als ich gefragt wurde, was ich als GUI-Manager einsetzen sollte, hatte ich zwei Möglichkeiten - Bootstrap und Semantic. Ich ging mit Bootstrap und alles ging gut, aber ...Warum installiert Bootstrap unter ASP.NET Core Razor?

Wenn ich den Inhalt ausgecheckt, wurde mir klar, dass der Unterschied zwischen leeren Web-Anwendung und Webapplikation/Bootstrap ist mehr als ich erwartet hatte. Ich habe mir ein komplettes MVC-Setup mit Ansichten, Controllern usw. geholt. Alle Ansichten werden natürlich von Razor verwaltet.

Also meine Frage ist, ob es sinnvoll ist, Razor zu überspringen. Wenn ja, was ist die Alternative (Goolearching gab mir sehr wenig dazu)?

Ich plane für Angular 2. Ist es sinnvoll, Bootstrap zu einem späteren Zeitpunkt zu installieren? Oder überhaupt?

+0

Aber es ist in erster Linie auf die Meinung basiert, es macht Sinn. –

+0

Hey Konrad, obwohl diese eher eine meinungsbasierte Frage ist. Da Sie .NET verwenden, möchten Sie zumindest die grundlegenden MVC-Aspekte nutzen. (Obwohl Angular2 nach der Übernahme des Clients die "Angle2" -App nicht mehr ausführen wird, lädt Angular2 die App. Ein Vorteil von .NET Core in diesem Fall ist, dass Angular auf dem Server mit Universal (Wir haben es in .NET Core integriert. So können Sie noch schneller Farben, große SEO, insgesamt bessere Leistung. –

+0

Wir haben einen Angular2 + ASP.NET Core Starter hier gemacht, wenn Sie damit umgehen wollen: https : //github.com/MarkPieszak/aspnetcore-angular2-universal Das bringt dich in die richtige Richtung! Hoffe das hilft –

Antwort

1

Wenn Sie nur eine statische index.html in wwwroot benötigen, dann brauchen Sie es nicht.

Muss etwas mit yeoman Installation der MVC standardmäßig Bootstrap standardmäßig (die NPM/Bower-Abhängigkeit) ist nur ein Bündel von Javascript & CSS-Dateien.

Wenn Sie Controller (für WebAPI/REST-Serviceanrufe, aber nicht Rasierer) benötigen, können Sie die "Microsoft.AspNetCore.Mvc.Core": "1.0.1"-Abhängigkeit anstelle von "Microsoft.AspNetCore.Mvc": "1.0.1" verwenden. Das spätere Paket zieht auch alle Abhängigkeiten, die für MVC einschließlich Razor erforderlich sind. Wenn Sie das -Paket verwenden, müssen Sie es unter AddMvcCore() in ConfigureServiuces() anstelle von AddMvc() registrieren.

Wenn Sie keine benötigen (weil Ihre WebAPI in einem anderen Projekt ist), entfernen Sie einfach die Abhängigkeit. Aber Sie brauchen UseStaticFiles/UseDefaultFiles stattdessen aber ich denke, dass Sie das bereits wissen.

Auch wenn Sie mit Angular2 arbeiten, könnten Sie interessiert sein an Microsofts JavaScriptServices Paket, mit dem Sie die erste Anfrage an den Anwendungsserver einseitig prerender und die Fortsetzung mit clientseitige Ausführung davon, Beschleunigung der ersten Laoding der Anwendung sowie Fallback-Routen bieten.

Hintergrund: Angular2 verwendet keine Hash-Routen (example.com/myapp#/some/route), verwendet jedoch standardmäßig haschlose Routen (example.com/myapp/some/route), die beim Treffer ein Problem verursachen können F5 im Browser, während nicht in der App root url. Die routes.MapSpaFallbackRoute-Verbindung here leitet alle Anfragen einfach an den SPA-Apps-Root weiter.

Es verwendet MVC jedoch. Nicht sicher, wie Sie es ohne MVC tun, wahrscheinlich müssen Sie auf die URL Rewrite middleware, die mit ASP.NET Core 1.1 kommt warten.

+0

Hehe, ich hatte * AspNetCore.Mvc * und denke, dass es MVC des Kerns ist. Aber nein ... Wir müssen * AspNetCore.Mvc.Core * angeben. Nicht verwirrend. Nicht verwirrend ... :) –

+0

Ich kann * AddMvcCore() * anstelle von * AddMvc() * in der * ConfigureServices * Methode verwenden. Allerdings kann ich nur noch * UseMvc() *, aber nicht * UseMvcCore() * in der Methode * Configuration * anwenden. Was vermisse ich? In [hier] (https://github.com/aspnet/Mvc/issues/4785) reden sie auch nur über das * Add * in den Diensten und nicht * Use * in der Config. Tippfehler? –

+0

Richtig mein Schlechter. Ich erinnerte mich nur an meinen Kopf, da ich wusste, dass eine der Erweiterungsmethoden es nennt. 'AddMvcCore' ist die richtige und' UseMvc' ist bereits im 'Microsoft.AspNetCore.Mvc.Core' Paket definiert. – Tseng

Verwandte Themen