2015-09-22 18 views
19

Sto lavorando all'applicazione AngularJs con node.js. Utilizzando sorso, ho creato (compilato) la mia domanda (app immagine sotto a) e ottenuto le seguenti directoryDistribuire un'applicazione angolare su IIS

enter image description here

Ora mi sono completamente colpito come procedere dopo. Voglio ospitare questa applicazione su IIS per eseguire e vedere le pagine (nella cartella views) ma non so come ospitarlo su IIS.

Ho provato l'articolo this, ma guida l'utilizzo del server express.

Il problema è, come IIS a capire che la prima pagina si trova nella cartella views, e anche se io uso l'URL completo

http://localhost:8078/views/index.html 

mi mostra tutto il codice angolare con staffe come {{logginuser}} ecc

MODIFICA: Ho bisogno del file web.config qui o no. Se sì, allora come definirò il punto di accesso all'applicazione?

+0

È necessario impostare come pagina iniziale sulla schermata principale (come index.html) –

+0

Come posso impostarlo in IIS? – Lali

+0

Vedere la mia risposta per Come posso impostarlo in IIS? :) –

risposta

29

resta che configurare un'applicazione Web in un sito web in IIS e creare una web.config personalizzato.

  1. In IIS, visitare il sito Web predefinito, fare clic destro e selezionare Aggiungi Web Application
  2. impostare l'alias di essere AngularApp e il percorso fisico per essere la radice della directory
  3. Aggiungi un file web.config alla radice della directory con il seguente codice

    <?xml version="1.0" encoding="UTF-8"?> 
    <configuration> 
        <system.webServer> 
        <defaultDocument> 
         <files> 
          <add value="views/index.html" /> 
         </files> 
        </defaultDocument> 
        </system.webServer> 
    </configuration> 
    
  4. Sfoglia per la nuova applicazione angolare andando http://localhost/AngularApp (assumendo http vincolante in IIS).

+0

Quando faccio questo, la mia app si interrompe perché non trova più le altre risorse. Qualche consiglio a riguardo? – Cesar

2

È necessario impostare come pagina iniziale a voi schermata principale (come index.html)

Come posso metterlo in IIS?

Basta andare al file web.config e aggiungere in seguito

<system.webServer> 
    <defaultDocument> 
     <files> 
     <clear /> 
     <add value="index.html" />//Path of your Page 
     </files> 
    </defaultDocument> 
</system.webServer> 

Maggiori dettagli: How do I set the default page of my application in IIS7?

+0

Questa è un'applicazione angularJs e, come ho detto, se sfoglio la pagina con l'url completo, non risolve le convenzioni angularJs. – Lali

+0

hai avuto qualche errore della console? –

+0

Ho sfogliato 'http: // localhost: 8078/views/home.html' e mi ha mostrato {{Title}}, invece di mostrare' Hellow World Application'. – Lali

10

perso 2 ore con questo La soluzione era quella di andare a WINDOWS FEATURES e verificare 'contenuti statici', sotto COMMON HTTP caratteristiche.

enter image description here

Spero che questo aiuti qualcuno.