2014-12-25 30 views

risposta

43

Citando il sito ufficiale:

La cartella wwwroot è nuovo in ASP.NET 5.0. Tutti i file statici in il tuo progetto vanno in questa cartella. Si tratta di risorse che l'app sarà disponibile per direttamente nei client, inclusi file HTML, file CSS, immagini e JavaScript. La cartella wwwroot è la radice del tuo sito web . Vale a dire, http://some.hostname/ punti su wwwroot, tutti gli URL per il contenuto statico sono relativi alla cartella wwwroot.

I file di codice devono essere posizionati all'esterno di wwwroot. Ciò include tutti i file C# e i file Razor. > Avere una cartella wwwroot mantiene una netta separazione tra file di codice e file statici.

Source

Vale la pena ricordare che il termine wwwroot sé non è certo una novità ed è in realtà una convenzione utilizzata su molte piattaforme (tra cui applicazioni J2EE e IIS se stesso con la sua directory c:\inetpub\wwwroot).

Convenzioni simili nel mondo Unix/Linux sono htdocs, public_html e www.

+2

Un'altra nota interessante è che il nome wwwroot non è in realtà speciale. Project.json definisce ciò che viene chiamata questa cartella. Se lo cambi, wwwroot diventa una normale cartella in VS e la nuova cartella ottiene l'icona speciale. Originariamente era chiamato public, e potrebbe anche essere ancora il default, ma wwwroot è impalcato per la sua familiarità. – Glenn

+0

Per le migliori pratiche in cui dovrebbero essere inseriti i file TypeScript? Ad esempio, ho un'applicazione che è separata dal modulo (ad es./Account,/users,/calendar) dove ogni modulo ha sia file 'TypeScript' che' template html'. Come dovrebbe essere gestito questo caso secondo lei? – RPDeshaies

+1

Se quei file '.ts' devono essere disponibili per il client (in genere per la compilazione lato client), quindi sicuramente in' wwwroot' (forse 'wwwroot/scripts'). Se sono precompilati, non dovrebbero essere sotto 'wwwroot'. – haim770

21

La cartella wwwroot è nuova in ASP.NET 5 per memorizzare all of the static files in your project. Any files including HTML files, CSS files, image files, and JavaScript files which are sent to the users browser should be stored inside this folder.

I file di codice devono essere collocati al di fuori di wwwroot compresi i file C# e le visualizzazioni del rasoio. Avere una cartella wwwroot mantiene una separazione netta tra i file di codice e quelli statici, porta chiarezza agli elementi che verranno inviati al server e agli elementi che dovrebbero rimanere sulla macchina di sviluppo. Se si guarda la figura, la cartella wwwroot contiene le sottocartelle css e lib. La cartella Css è un posto dove conservare i file css personalizzati, mentre la cartella lib è usata da Bower package manger. La cartella lib contiene i pacchetti scaricati da Bower e può contenere css, js e immagini.

La figura mostra che la cartella lib ha una cartella del pacchetto bootstrap, se si espande si troveranno css, js e tutte le altre risorse correlate al pacchetto boostrap.

In MVC4 abbiamo utilizzato la cartella del contenuto per mantenere i fogli di stile e la cartella degli script per gli script di riferimento, queste cartelle non sono più disponibili. Quindi è importante capire che non esiste una singola cartella per fogli di stile o script. il potrebbe essere in una delle cartelle all'interno di wwwroot.

È interessante notare che se si desidera fare riferimento ai file css, js o img nelle visualizzazioni del rasoio, l'utilizzo della parola chiave ~ assicura il percorso diretto alla cartella wwwroot. Supponiamo quindi di voler fare riferimento a site.css nella tua vista, accedendo alla sintassi <link rel="stylesheet" href="~/css/site.css" />.

Si può vedere che la parola chiave ~ punta alla cartella wwwroot.

enter image description here

Problemi correlati