472 votes

Comment changer le port angulaire de 4200 à tout autre port ?

Je veux utiliser 5000 au lieu de 4200.

J'ai essayé de créer un fichier sur le nom Root ember-cli et mettre JSON selon le code ci-dessous :

{
   "port": 5000
}

Mais mon application fonctionne toujours sur 4200 au lieu de 5000.

4 votes

0 votes

Avez-vous également redémarré le serveur ?

0 votes

Oui @kristjanreinhold

750voto

David Points 1721

La solution qui a fonctionné pour moi était

ng serve --port 4401    

(Vous pouvez changer le 4401 par le numéro que vous voulez)

Ensuite, lancez le navigateur -> http://localhost:4401/

En fait, j'avais deux applications et avec l'aide de l'approche ci-dessus, je suis maintenant capable de les exécuter simultanément dans mon environnement de développement.

0 votes

L'option '--port 4201' n'est pas enregistrée avec la commande serve.

17 votes

Remarque pour les autres : ne pas faire npm start --port 4401 parce que npm start ne semble pas exécuter le --port

2 votes

Veuillez également consulter cette réponse stackoverflow.com/a/52345586/3209545

179voto

Nathan Friend Points 4808

Il semble que les choses aient changé dans les versions récentes du CLI (j'utilise 6.0.1 ). J'ai réussi à changer le port par défaut utilisé par ng serve en ajoutant un port de mon projet angular.json :

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "projects": {
        "my-project": {
            "architect": {
                "serve": {
                    "options": {
                        "port": 4201
                    }
                }
            }
        }
    }
}

(Seules les propriétés pertinentes sont indiquées dans cet exemple).

0 votes

Et je veux changer d'hôte aussi alors

134voto

ganesh kalje Points 1220

Vous pouvez changer le port de votre application en entrant la commande suivante,

ng serve --port 4200

Aussi, pour une installation permanente, vous pouvez changer le port en éditant le fichier angular-cli.json

 "defaults": {
    "serve": {
      "port": 8080
    }
  }

3 votes

Dans les versions plus récentes, vous devez utiliser ng serve --port 8080 (pas de " :", un espace vide à la place).

0 votes

S'il s'agit du dernier paramètre "par défaut", vous devez supprimer la virgule de fin.

1 votes

Cela a changé dans les versions récentes du CLI - voir ma réponse pour plus de détails.

84voto

Dhyey Points 2814

Changer nodel_modules/angular-cli/commands/server.js est une mauvaise idée car il sera mis à jour lorsque vous installerez une nouvelle version de angular-cli . Au lieu de cela, vous devez spécifier ng serve --port 5000 sur package.json comme ça :

"scripts": {
    "start": "ng serve --port 5000"
}

Vous pouvez également spécifier l'hôte avec --host 127.0.0.1

0 votes

Comment démarrer l'application ? ng serve ? Cela ne semble pas fonctionner lorsque je vérifie dans le navigateur avec, localhost:5000

1 votes

Je pense que cela devrait être la réponse acceptée. Presque pour les personnes qui utilisent npm start comme une commande

0 votes

Pourquoi utiliser une option script pour une configuration permanente ? Il existe un fichier pour cela, et il s'agit de angular.json

82voto

arsanyf Points 373

L'emplacement des paramètres du port a changé plusieurs fois.

Si vous utilisez Angular CLI 1

Changement angular-cli.json

{
  "defaults": {
    "serve": {
      "host": "0.0.0.0",
      "port": 5000 
    }
  }
}

Si vous utilisez la dernière version d'Angular CLI

Changement angular.json

"projects": {
    "project-name": {
        ...
        "architect": {
            "serve": {
                "options": {
                  "host": "0.0.0.0",
                  "port": 5000
                }
            }
        }
        ...
    }
}

Sans modifier aucun fichier

Exécutez la commande

ng serve --host 0.0.0.0 --port 5000

9 votes

Cette réponse doit être considérée comme la bonne, car elle couvre les deux possibilités : solutions permanentes ou temporaires.

1 votes

Je suis d'accord avec @Dan

0 votes

En cas de changement permanent, savez-vous si le nouveau port doit être spécifié ailleurs dans ce fichier ` angular.json` ? Mon serve Le niveau d'option contient deux éléments avec browserTarget , options y configurations/production . Dois-je ajouter ce nouveau port dans les deux ou seulement dans le options Un ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X