243 votes

Qu'est-ce que process.env.PORT dans Node.js ?

Ce qui est process.env.PORT || 3000 utilisé dans Node.js ? J'ai vu cela quelque part :

 app.set('port', process.env.PORT || 3000);

S'il est utilisé pour définir 3000 comme port d'écoute, puis-je utiliser ceci à la place ?

app.listen(3000);

Si non, pourquoi ?

1voto

user17257574 Points 1
Click to show 2 definitions.

(property) NodeJS.Process.env: NodeJS.ProcessEnv
The process.env property returns an object containing the user environment. See environ(7).

An example of this object looks like:

{
  TERM: 'xterm-256color',
  SHELL: '/usr/local/bin/bash',
  USER: 'maciej',
  PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',
  PWD: '/Users/maciej',
  EDITOR: 'vim',
  SHLVL: '1',
  HOME: '/Users/maciej',
  LOGNAME: 'maciej',
  _: '/usr/local/bin/node'
}
It is possible to modify this object, but such modifications will not be reflected outside the Node.js process, or (unless explicitly requested) to other Worker threads. In other words, the following example would not work:

$ node -e 'process.env.foo = "bar"' && echo $foo
While the following will:

import { env } from 'process';

env.foo = 'bar';
console.log(env.foo);
Assigning a property on process.env will implicitly convert the value to a string. This behavior is deprecated. Future versions of Node.js may throw an error when the value is not a string, number, or boolean.

import { env } from 'process';

env.test = null;
console.log(env.test);
// => 'null'
env.test = undefined;
console.log(env.test);
// => 'undefined'
Use delete to delete a property from process.env.

import { env } from 'process';

env.TEST = 1;
delete env.TEST;
console.log(env.TEST);
// => undefined
On Windows operating systems, environment variables are case-insensitive.

import { env } from 'process';

env.TEST = 1;
console.log(env.test);
// => 1
Unless explicitly specified when creating a Worker instance, each Worker thread has its own copy of process.env, based on its parent thread’s process.env, or whatever was specified as the env option to the Worker constructor. Changes to process.env will not be visible across Worker threads, and only the main thread can make changes that are visible to the operating system or to native add-ons.

@since — v0.1.27

0voto

process.env.PORT || 3000 signifie : process.env.PORT signifie que PORT le numéro que vous avez défini manuellement. 3000 est la valeur par défaut port . Si vous ne l'avez pas réglé manuellement, il écoutera 3000.

app.set('port', process.env.PORT || 3000) o app.listen(3000) dans votre code signifie la même chose. Il indique seulement quel port il est censé écouter en tant que paramètre de l'environnement.

3000 est le paramètre codé en dur que vous transmettez à app.listen() ce qui signifie que chaque fois que vous exécutez votre code back-end, vous allez toujours écouter sur port 3000 qui peut vous convenir ou non, en fonction de vos besoins et des exigences de l'environnement dans lequel votre serveur fonctionne.

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