web-dev-qa-db-fra.com

Déployer angular sur IIS

Je travaille sur l'application AngularJs avec node.js. En utilisant gulp, j'ai créé (compilé) mon application (app dans l'image ci-dessous) et obtenu les répertoires suivants

enter image description here

Maintenant, j'ai complètement compris comment procéder ensuite. Je veux héberger cette application sur IIS pour exécuter et voir les pages (dans le dossier views)) mais je ne sais pas comment l'héberger sur IIS.

J'ai essayé this article, mais il guide l'utilisation du serveur express.

Le problème est de savoir comment IIS va comprendre que la première page se trouve dans le dossier views, et même si j'utilise l'url complète

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

il me montre tout angular avec des crochets comme {{logginuser}} etc

EDIT: ai-je besoin du fichier web.config ici ou non. Si oui, comment définirai-je le point d'entrée de l'application?

21
Lali

Il suffit de configurer une application Web sous un site Web dans IIS et de créer un web.config personnalisé.

  1. Dans IIS, accédez au site Web par défaut, cliquez avec le bouton droit et sélectionnez Ajouter une application Web
  2. Définissez l'alias sur AngularApp et le chemin physique sur la racine de votre répertoire
  3. Ajoutez un fichier web.config à la racine du répertoire avec le code suivant

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <defaultDocument>
            <files>
                <add value="views/index.html" />
            </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    
  4. Accédez à votre nouvelle application Angular en accédant à http: // localhost/AngularApp (en supposant une liaison http dans IIS).

33
Chris Story

Perdu 2 heures avec ça La solution était d'aller à WINDOWS FEATURES et cochez 'contenu statique', sous COMMON HTTP fonctionnalités.

enter image description here

J'espère que cela aide quelqu'un.

15
hannes neukermans

Vous devez définir comme page de démarrage sur votre écran principal (comme index.html)

Comment puis-je le définir dans IIS?

Accédez simplement au fichier web.config et ajoutez ce qui suit

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

Plus de détails: Comment définir la page par défaut de mon application dans IIS7?

2
Ramesh Rajendran