2016-11-21 2 views

Antwort

55

Wenn Sie nicht Set-Umgebungsvariable, andere Option wollen - ändern scripts Teil package.json aus:
"start": "react-scripts start"
Linux (getestet auf Ubuntu 14.04/16.04) und MacOS (von @ Aswin-s auf MacOS Sierra 10.12.4 getestet) zu:
"start": "PORT=3006 react-scripts start"
oder (sein können) allgemeinere Lösung von @IsaacPak zu:
"start": "export PORT=3006 react-scripts start"
Windows- @JacobEnsor Lösung:
"start": "set PORT=3006 && react-scripts start"

+2

Funktioniert nicht unter Windows. –

+5

für Windows: ' "Start": "set PORT = 3005 && reagieren-Skripte starten"' –

+1

für ubuntu: ' "Start": "export PORT = 3006 reagieren-Skripte starten"' für mich gearbeitet –

17

Sie können eine Umgebungsvariable angeben PORT nannte den Port angeben, auf das der Server ausgeführt wird.

$ export PORT=3005 #Linux 
$ $env:PORT=3005 # Windows - Powershell 
+0

i zwei Anwendungs ​​reagieren laufen wird, eine auf Port 3005 sein muss und die andere auf 3006 –

+0

@lem sein sollte Sie können zwei Konsolen öffnen, in jedem von ihnen Umgebungsvariablen auf 3005 und 3006 setzen und die Anwendung ausführen. –

+1

' "Start": "set PORT = 3005 react-Skripte starten"' nur den Port gesetzt, aber nicht läuft die App –

28

ist hier ein anderer Weg, um diese Aufgabe zu erfüllen.

Erstellen Sie eine .env-Datei in Ihrem Projektstamm und geben Sie dort die Portnummer an. Wie:

PORT = 3005

+1

eine .env Datei verwenden wird aus der Box unterstützt mit Erstellen-Reagieren-App. Stellen Sie sicher, dass Sie .env nicht in die Quellcodeverwaltung einchecken, wenn Sie vertrauliche Informationen dort eingeben. – Don

+4

Das ist das beschriebene Verfahren in dem create-reagieren-app [README.md] (https://github.com/facebookincubator/create-react-app/blob/4cdd5ac/packages/react-scripts/template/README.md # advanced-configuration) –

+0

@Don Das scheint etwas verwirrend. Die FB Jungs empfehlen das Gegenteil ... https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-development-environment-variables- in-env – carkod

0

Für meine Fenster Leute entdeckte ich einen Weg ReactJS Port ändern auf einem beliebigen Port laufen Sie want.Before Betrieb des Servers gehen zu

node_modules/react-scripts/scripts/start.js 

Suchen Sie in der Zeile nach unten und ändern Sie die Portnummer in den gewünschten Port.

var DEFAULT_PORT = process.env.PORT || *4000*; 

Und Sie sind gut zu gehen.

+4

Vorsicht: Änderungen, die Sie innerhalb des 'node_modules' -Verzeichnisses vornehmen, werden weggeblasen, wenn die Pakete aktualisiert werden. Wahrscheinlich am besten, eine der anderen Antworten zu verwenden. – Don

0

Standard-Port-Konfiguration in Ihrer App starten, können Sie in

yourapp/scripts/start.js

scroll finden nach unten und Port ändern, wie Sie

const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 4000;

Hoffnung können Sie helfen wollen;)

1

Es wäre Es ist schön, einen anderen Port als 3000 entweder als Befehlszeilenparameter oder als Umgebungsvariable angeben zu können.

Gerade jetzt ist der Prozess ziemlich beteiligt: ​​

  1. Run npm run eject
  2. Warten Sie, dass
  3. bearbeiten scripts/start.js beenden und Suchen/Ersetzen 3000 mit dem, was Port Sie
  4. bearbeiten verwenden möchten config/webpack.config.dev.js und das gleiche tun
  5. npm start
+0

Ja, ich möchte Port als Befehlszeilenvariable angeben können, (nur) wenn ich einen anderen Server verwende, der bereits 3000 verwendet. – SherylHohman

0

Sie konnten verwenden Cross-env den Port zu setzen, und wird unter Windows, Linux und Mac arbeiten.

yarn add -D cross-env 

auf package.json, in der Start Linke so sein könnte:

"start": "cross-env PORT=3006 react-scripts start", 
Verwandte Themen