Qu'est-ce que processus.env.PORT Node.js?
qu'est-ce que process.env.PORT || 3000
utilisée pour l'Node.js? J'ai vu cela quelque part:
app.set('port', process.env.PORT || 3000);
Si elle est utilisée pour définir 3000
que le port d'écoute, puis-je l'utiliser à la place?
app.listen(3000);
Si non pourquoi?
Vous devez vous connecter pour publier un commentaire.
Dans de nombreux environnements (par exemple, Heroku), et qu'une convention, vous pouvez définir la variable d'environnement
PORT
de dire à votre serveur web ce port à écouter.Donc
process.env.PORT || 3000
signifie: tout ce qui est dans la variable d'environnement du PORT, ou 3000 si il n'y a rien.De sorte que vous passer que
app.listen
, ou àapp.set('port', ...)
, et ce qui rend votre serveur sera en mesure d'accepter un paramètre de l'environnement de ce port à écouter.Si vous passez
3000
codé en dur pourapp.listen()
, vous êtes toujours à l'écoute sur le port 3000, qui pourrait être juste pour vous, ou pas, selon vos besoins et les exigences de l'environnement dans lequel vous utilisez votre serveur.si vous exécutez
node index.js
,Nœud utilise3000
Si vous exécutez
PORT=4444 node index.js
, Nœud utiliseprocess.env.PORT
qui équivaut à4444
dans cet exemple. Courir avecsudo
pour les ports inférieurs à 1024.Lors de l'hébergement de votre application sur un autre service (comme Heroku, Nodejitsu, et AWS), votre hôte peut indépendamment de configurer le
process.env.PORT
variable pour vous; après tout, votre script s'exécute dans leur environnement.Amazon Elastic Beanstalk n'a cette. Si vous essayez de définir un port statique de la valeur comme
3000
au lieu deprocess.env.PORT || 3000
où 3000 est votre statique, alors votre demande donnera lieu à un 500 passerelle erreur car Amazon est la configuration du port pour vous.C'est un minimum d'Exprimer application qui va déployer sur Amazon Elastic Beanstalk:
const {PORT = 3000} = process.env
Dans certains scénarios,
port
ne peut être désigné par l'environnement et est enregistré dans une variable d'environnement utilisateur. Ci-dessous est comment node.js les applications de travailler avec elle.La
process
objet est un groupe mondial qui fournit des informations sur, et le contrôle, le courant Node.js processus. En tant que global, il est toujours disponible pour Node.js applications sans utiliserrequire()
.La
process.env
propriété renvoie un objet contenant de l'environnement de l'utilisateur.Un exemple de cet objet ressemble à:
Par exemple,
terminal: définir une nouvelle variable d'environnement utilisateur, pas de façon permanente
app.js: lire la nouvelle variable d'environnement du nœud application
terminal: exécuter le nœud de l'application et d'obtenir la valeur
Ce que c'est
Le processus.env variable globale est injecté par le Nœud à l'exécution de votre application à utiliser et il représente l'état de l'environnement système de votre application lorsqu'il démarre. Par exemple, si le système a une variable de CHEMIN ensemble, ce sera mis à votre disposition par le biais de processus.env.CHEMIN d'accès que vous pouvez utiliser pour vérifier où les binaires sont situés et faire des appels externes si nécessaire.