80 votes

Comment définir le port dans next.js

Une application s'exécute sur le port 3000 et je veux exécuter une autre application sur un port différent du port par défaut. Comment puis-je changer cela dans React Next.js. Mon script package.js est

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "next",
    "build": "next build",
    "start": "next start"
  },

et la commande de script de démarrage est npm run dev

4 votes

140voto

Sohail Ahmad Points 2323

Cela fonctionne pour moi

 "scripts": { 
       "dev": "next -p 8080" 
},

0 votes

Il n'a pas fonctionné.

10 votes

Si vous utilisez la commande dev suivante dans votre script, pour moi aujourd'hui cela ne fonctionne que en spécifiant après la commande suivante, par exemple next dev -p 8080 et next start -p 8080 pour le mode prod, par opposition à avant comme ceci: next -p 8080 dev.

41voto

"scripts": {
    "dev": "next dev -p 8080", // pour le développement 
    "start": "next start -p 8080" // pour la production
},

1 votes

Il ne s'agit vraiment pas; le port ne devrait pas être intégré dans un script de démarrage.

17voto

Alexis Troncoso Points 179

Il suffit de faire :

yarn dev -p PORT_DE_VOTRE_CHOIX

6 votes

Pour une valeur à long terme, veuillez expliquer pourquoi ce code résout le problème de l'OP. Les réponses basées uniquement sur le code sont mal vues. Les explications aident les futurs visiteurs à apprendre et à appliquer ces connaissances à des problèmes similaires qu'ils rencontrent dans leur propre code. Elles sont également plus susceptibles d'être votées positivement. Pensez à modifier pour améliorer votre réponse et à maintenir la qualité des réponses SO élevée. Merci pour votre contribution.

1 votes

Cela ne fournit pas de réponse à la question. Une fois que vous avez suffisamment de réputation, vous pourrez commenter sur n'importe quel post; au lieu de cela, fournissez des réponses qui ne nécessitent pas de clarification de la part de l'auteur de la question. - À partir de la révision

1 votes

Le fichier .env ne fonctionne pas sur Next.js. Quiconque a une solution de travail peut aider en laissant tomber la solution.

8voto

VAN7 Points 1

Il existe deux façons de le faire:

Dans votre fichier package.json, ajoutez -p 8080 aux scripts dev/start pour démarrer le serveur sur le port 8080:

  "scripts": {
    "dev": "next -p 8080",
    "build": "next build",
    "profile-build": "next build --profile",
    "start": "next start -p 8080"
  }

Alternativement, si vous ne souhaitez pas coder en dur ceci dans le fichier package.json, vous pouvez démarrer le script avec la variable ENV PORT.

PORT=8080 npm run dev

Visitez la documentation de Vercel pour plus d'informations.

8voto

Maduekwe Pedro Points 1625

L'application démarrera par défaut à l'adresse http://localhost:3000. Le port par défaut peut être modifié avec -p, comme ceci :

 npx next dev -p 4000

Ou en utilisant la variable d'environnement PORT :

PORT=4000 npx next dev

note que j'ai utilisé npx et non npm

Vous pouvez également définir le nom d'hôte pour être différent du 0.0.0.0 par défaut, ce qui peut être utile pour rendre l'application disponible pour d'autres appareils du réseau. Le nom d'hôte par défaut peut être modifié avec -H, comme ceci :

 npx next dev -H 192.168.1.2

Si vous obtenez une erreur indiquant que le port est déjà utilisé, ce que vous pouvez faire pour résoudre le problème sous Windows est le suivant :

Aller dans le Gestionnaire des tâches.

Rechercher et trouver un processus nommé Node.js: Server-side.

Met fin à cette tâche particulière.

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