2015-05-08 10 views
15

Voglio iniziare a giocare con Aurelia e MVC 6 Web API con Visual Studio 2015 RC e sto utilizzando OdeToCode's blog post come punto di partenza.Configurazione del progetto Aurelia e struttura delle cartelle in Visual Sudio 2015: cosa succede in wwwroot?

Capisco l'idea alla base della nuova cartella wwwroot, ma sono fondamentalmente confuso su cosa dovrebbe o non dovrebbe essere messo lì.

Il mio primo pensiero sarebbe di installare tutti i pacchetti jspm così come i file di origine JavaScript effettivi fuori la cartella wwwroot, e quindi copiare con gulp tutto ciò che è necessario per l'esecuzione durante lo sviluppo o bundle e copiare durante la distribuzione.

Sarebbe simile a questa: poi di nuovo

enter image description here

Ma, dovrei mettere index.html anche nella cartella src? e config.js? Oppure sto davvero rendendo la mia vita difficile per me stesso e dovrei semplicemente svilupparmi all'interno della cartella wwwroot?

Sono i pacchetti jspm che mi confondono; è sbagliato avere una quantità così grande di file JavaScript nel wwwroot quando ho intenzione di raggruppare e minimizzare comunque.

In breve:Quale sarebbe la struttura di cartelle preferita per un'app Aurelia ASP.NET 5 in Visual Studio 2015?

+0

Manterrei jspm_packages al di fuori di wwwroot se si sta creando e raggruppando. Manterrei solo le risorse statiche che vengono fornite dal file system in wwwroot. – OdeToCode

+0

Grazie a @OdeToCode, anche questa è stata la mia sensazione, ma ciò significa che ho bisogno di unire anche ogni volta che eseguo l'applicazione mentre lo sviluppo, giusto? –

+0

Sì, è un compromesso. Dovresti essere in grado di usare il middleware StaticFiles se vuoi servire direttamente da un'altra cartella al di fuori di wwwroot, anche se solo per lo sviluppo/debug. – OdeToCode

risposta

9

ho trascorso un po 'di tempo su questo e, infine, con regolamento il:

  • ApplicationName
    • src
      • Api
        • Qui dentro ho un progetto ASP.NET 5 che fornisce l'api per essere consumata dall'app Aurelia. Probabilmente dovrai attivare CORS per evitare errori.
      • Client.Web
        • Qui ho iniziato con l'Aurelia navigazione scheletro di app. Abbiamo modificato la cartella dist in wwwroot. La cartella jspm_packages si trova all'esterno di wwwroot e le attività di gulp fornite con l'app skeleton navigation si occupano di tutte le operazioni di copia su wwwroot secondo necessità.

Questo approch mi ha dato i seguenti vantaggi:

  • Separazione delle API e il codice del client.
  • Opzione per distribuire separatamente API e client.
  • capacità di sfruttare tutte le attività gulp che vengono con l'applicazione di navigazione scheletro
  • Cancella posto per passare alla Javascript convenzioni denominazione dei file (camelCase)

Gli svantaggi di questo approccio:

  • L'avvio dell'applicazione completa è più difficile. Attualmente, devo fare clic su "Riproduci" in Visual Studio per avviare l'API, quindi devo avviare gulp watch. Questo non è un grosso problema perché puoi lasciarlo per lo più gulp watch durante tutto il tempo che hai sviluppato.
+3

Familiarità con [Task Runner Explorer] (https://visualstudiogallery.msdn.microsoft.com/8e1b4368-4afb-467a-bc13-9650572db708)? È possibile allegare alcuni passaggi prima o dopo la costruzione, la pulizia e alcuni altri. Puoi collegare 'gulp watch' al tuo evento after build, un passo in meno manuale ;-) –

+0

@Andrew yes, ho sperimentato con Task Runner Explorer, ed è bello. Idealmente, 'gulp watch' non funzionerebbe su' build' ma su 'run' ma' run' non è un'opzione che io conosca. Puoi _can_utilizzare uno qualsiasi dei comandi dnx da 'project.json' dal pulsante" play ", in modo da poter avviare più progetti in un solo passaggio. Il problema è che devo ancora trovare un modo per avviare un compito gulp dalla sezione 'commands' di' project.json'. –

+0

"Attualmente, devo fare clic su" Riproduci "in Visual Studio" Utilizzare IIS Pro o eseguire owin su Windows Service con la libreria topshelf. – Elisabeth

Problemi correlati