IT-Swarm.Net

Πώς να καθορίσετε μια θύρα για την εκτέλεση ενός έργου δημιουργίας αντιδράσεων βάσει εφαρμογής;

Το σχέδιό μου βασίζεται στο create-react-app . npm start ή yarn start από προεπιλογή θα εκτελέσει την εφαρμογή στη θύρα 3000 και δεν υπάρχει επιλογή καθορισμού μιας θύρας στο package.json.

Πώς μπορώ να ορίσω μια θύρα της επιλογής μου σε αυτή την περίπτωση; Θέλω να τρέξω δύο από αυτό το έργο ταυτόχρονα (για δοκιμή), το ένα στη θύρα 3005 και το άλλο είναι 3006

118
letthefireflieslive

Αν δεν θέλετε να ορίσετε την μεταβλητή περιβάλλοντος , μια άλλη επιλογή είναι να τροποποιήσετε το τμήμα scripts του package.json από:

"start": "react-scripts start"

προς το

Linux (δοκιμασμένο σε Ubuntu 14.04/16.04) και MacOS (δοκιμασμένο από @ aswin-s στο MacOS Sierra 10.12.4):

"start": "PORT=3006 react-scripts start"

ή (μπορεί να είναι) πιο γενική λύση από το @IsaacPak

"start": "export PORT=3006 react-scripts start"

λύση Windows @ JacobEnsor

"start": "set PORT=3006 && react-scripts start"

Ενημέρωση λόγω της δημοτικότητας της απάντησής μου: Προς το παρόν προτιμώ να χρησιμοποιώ μεταβλητές περιβάλλοντος αποθηκευμένες στο .env αρχείο (χρήσιμο για την αποθήκευση συνόλων μεταβλητών για διαφορετικές διαμορφώσεις deploy σε μια βολική και ευανάγνωστη μορφή). Μην ξεχάσετε να προσθέσετε το *.env σε .gitignore αν αποθηκεύετε ακόμα τα μυστικά σας σε αρχεία .env. Εδώ είναι η εξήγηση γιατί η χρήση μεταβλητών περιβάλλοντος είναι καλύτερη στις περισσότερες περιπτώσεις. Εδώ είναι η εξήγηση γιατί η αποθήκευση των μυστικών στο περιβάλλον είναι κακή ιδέα.

204
El Ruso

Γρήγορη, αξιόπιστη και οικονομικά προσιτή υπηρεσία cloud hosting

Εγγραφείτε και λάβετε $50 μπόνους εντός 30 ημερών!

Εδώ είναι ένας άλλος τρόπος για να ολοκληρώσετε αυτό το έργο.

Δημιουργήστε ένα αρχείο. Env στη ρίζα του έργου σας και καθορίστε τον αριθμό θύρας εκεί. Σαν:

PORT = 3005

73
Shahriar Hasan Sayeed

Μπορείτε να ορίσετε μια μεταβλητή περιβάλλοντος που ονομάζεται PORT για να καθορίσετε τη θύρα στην οποία θα τρέξει ο διακομιστής.

$ export PORT=3005 #Linux
$ $env:PORT=3005 # Windows - Powershell
18
Harshil Lodhi

Θα μπορούσατε να χρησιμοποιήσετε cross-env για να ρυθμίσετε τη θύρα και θα λειτουργήσει σε Windows, Linux και Μακ.

yarn add -D cross-env

τότε στο package.json ο σύνδεσμος έναρξης θα μπορούσε να είναι όπως παρακάτω:

"start": "cross-env PORT=3006 react-scripts start",
13
Aguinaldo Possatto

Για τους παραθύρους μου, ανακάλυψα έναν τρόπο να αλλάξω τη θύρα ReactJS για να τρέχω σε οποιαδήποτε θύρα που θέλετε. Πριν τρέξετε το διακομιστή πηγαίνετε στο

node_modules/react-scripts/scripts/start.js

Σε αυτό, αναζητήστε την παρακάτω γραμμή και αλλάξτε τον αριθμό θύρας στην επιθυμητή θύρα

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

Και είστε καλό να πάτε.

3
Ayodeji

Απλώς ενημερώστε λίγο στο webpack.config.js:

devServer: {
    historyApiFallback: true,
    contentBase: './',
    port: 3000 // <--- Add this line and choose your own port number
}

στη συνέχεια εκτελέστε ξανά npm start.

2
Sanchit Bhatnagar

μπορείτε να βρείτε την προεπιλεγμένη ρύθμιση παραμέτρων θύρας κατά την εκκίνηση της εφαρμογής σας

yourapp/scripts/start.js

μετακινηθείτε προς τα κάτω και αλλάξτε τη θύρα σε ό, τι θέλετε

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

ελπίζω ότι αυτό μπορεί να σας βοηθήσει ·)

1
akhisyabab

Η αλλαγή στο πακέτο μου package.json "start": "export PORT=3001 && react-scripts start" λειτούργησε για μένα επίσης και είμαι στο macOS 10.13.4

1
Refayat Haque

Συνοψίζοντας, έχουμε τρεις προσεγγίσεις για να το επιτύχουμε:

  1. Ορίστε μια μεταβλητή περιβάλλοντος που ονομάζεται "PORT"
  2. Τροποποιήστε το κλειδί "εκκίνησης" στο τμήμα "scripts" του package.json
  3. Δημιουργήστε ένα αρχείο .env και τοποθετήστε τη διαμόρφωση του PORT σε αυτό

Η πιο φορητή θα είναι η τελευταία προσέγγιση. Αλλά, όπως αναφέρει η άλλη αφίσα, προσθέστε το. Env σε .gitignore για να μην μεταφορτώσετε τη διαμόρφωση στο δημόσιο αποθετήριο πηγής.

Περισσότερες λεπτομέρειες: αυτό το άρθρο

1
mikaelfs

Στα Windows μπορεί να γίνει με 2 τρόπους.

  1. Στην ενότητα "\ node_modules\react-scripts\scripts\start.js", αναζητήστε "DEFAULT_PORT" και προσθέστε τον αριθμό θύρας επιθυμίας.

    Δηλαδή: const DEFAULT_PORT = parseInt (process.env.PORT, 10) || 9999;

  2. Στο package.json, πληκτρολογήστε την παρακάτω γραμμή. "start": "set PORT = 9999 && start-scripts start" Στη συνέχεια ξεκινήστε την εφαρμογή χρησιμοποιώντας το NPM start. Θα ξεκινήσει η εφαρμογή σε θύρα 9999.

0
rahulnikhare

Τι λέτε για να δώσετε τον αριθμό θύρας ενώ καλείτε την εντολή χωρίς να χρειαστεί να αλλάξετε τίποτα στον κώδικα εφαρμογής ή τα αρχεία περιβάλλοντος; Με αυτόν τον τρόπο είναι δυνατή η εκτέλεση και η εξυπηρέτηση της ίδιας βάσης κώδικα από διάφορες διαφορετικές θύρες.

σαν:

$ export PORT=4000 && npm start

Μπορείτε να τοποθετήσετε τον αριθμό θύρας που σας αρέσει στη θέση του παραπάνω παραδείγματος 4000.

0
Selçuk