2015-05-08 1 views
15

Ich mag mit Aurelia und MVC 6 Web API mit Visual Studio 2015 RC zu spielen beginnen, und ich bin mit OdeToCode's blog post als Ausgangspunkt.Aurelia Projekt-Setup und Ordnerstruktur in Visual Sudio 2015: Was geht in wwwroot?

Ich verstehe die Idee hinter dem neuen wwwroot Ordner, aber ich bin im Grunde verwirrt darüber, was sollte oder sollte nicht dort hinein.

Mein erster Gedanke würde alle jspm Pakete sowie die aktuellen JavaScript-Quelldateien außerhalb der wwwroot Ordner, und kopieren Sie dann mit gulp alles zu installieren, die für den Betrieb während der Entwicklung oder zu bündeln und zu kopieren, wenn die Bereitstellung erforderlich ist.

Es würde wie folgt aussehen:

enter image description here

Aber dann wieder, soll ich index.html auch im src Ordner ablegen? und config.js? Oder mache ich mir eigentlich das Leben schwer und sollte mich einfach aus dem Ordner wwwroot entwickeln?

Es ist die jspm Pakete, die mich verwirren; Es fühlt sich falsch an, eine so große Menge an JavaScript-Dateien in der wwwroot zu haben, wenn ich sowieso bündeln und verkleinern möchte. Kurz

In:Was wäre die bevorzugte Ordnerstruktur für ein Aurelia ASP.NET 5 app in Visual Studio 2015?

+0

Ich würde jspm_packages außerhalb von wwwroot halten, wenn Sie bauen und bündeln. Ich würde nur statische Assets, die vom Dateisystem in wwwroot geliefert werden, behalten. – OdeToCode

+0

Dank @OdeToCode, das war mein Gefühl auch, aber das bedeutet, dass ich auch jedes Mal bündeln muss, wenn ich die Anwendung während der Entwicklung ausführe, habe ich recht? –

+0

Ja, es ist ein Kompromiss. Sie sollten in der Lage sein, die StaticFiles-Middleware zu verwenden, wenn Sie direkt von einem anderen Ordner außerhalb von wwwroot aus arbeiten möchten, auch wenn dies nur für die Entwicklung/das Debuggen gilt. – OdeToCode

Antwort

9

Ich verbrachte einige Zeit auf dieser und schließlich ließ sich auf:

  • Application
    • src
      • Api
        • In hier habe ich ein Projekt ASP.NET 5, zur Verfügung stellt die api, die von der Aurelia App verbraucht wird. Sie müssen wahrscheinlich CORS aktivieren, um Fehler zu vermeiden.
      • Client.Web
        • In hier begann ich mit dem Navigations-App Aurelia Skelett. Wir haben den Ordner dist in wwwroot geändert. Der Ordner jspm_packages befindet sich außerhalb des wwwroot und die Schluckaufgaben, die mit der skeleton navigation app geliefert werden, kümmern sich bei Bedarf um das Kopieren nach wwwroot.

Diese approch gab mir die folgenden Vorteile:

  • saubere Trennung der api und den Client-Code.
  • Option zur separaten Bereitstellung von API und Client.
  • Fähigkeit all die großen Schluck Aufgaben zu nutzen, die mit dem Skelett Navigations-App
  • löschen Ort kommen, um die Javascript-Datei Namenskonventionen (camelcase)

zu wechseln, die Nachteile dieses Ansatzes:

  • Starten der vollständigen App ist schwieriger. Momentan muss ich in Visual Studio auf "Play" klicken, um die API zu starten, dann muss ich gulp watch starten. Dies ist nicht zu groß für einen Deal, weil Sie gulp watch meist die ganze Zeit laufen lassen können, die Sie entwickeln.
+3

Vertraut mit dem [Task Runner Explorer] (https://visualstudiogallery.msdn.microsoft.com/8e1b4368-4afb-467a-bc13-9650572db708)? Sie können einige Schritte vor oder nach dem Bauen, Reinigen und einigen anderen anbringen. Du kannst 'gulp watch' an deinem after build Event anhängen, einen weniger manuellen Schritt ;-) –

+0

@Andrew Ja, ich habe mit Task Runner Explorer experimentiert, und es ist nett. Im Idealfall würde 'gulp watch' nicht auf' build' sondern auf 'run' laufen, aber' run' ist keine Option, die ich kenne. Sie können einen der dnx-Befehle von 'project.json' aus dem" play "-Button verwenden, so dass Sie mehrere Projekte auf diese Weise in einem Schritt starten können. Das Problem ist, ich muss noch einen Weg finden, um eine Schluck-Aufgabe aus dem 'commands'-Bereich von' project.json' zu starten. –

+0

"Derzeit muss ich in Visual Studio auf" Wiedergabe "klicken" IIS Pro verwenden oder den Windows-Dienst mit der Topshelf-Bibliothek ausführen. – Elisabeth

Verwandte Themen