From fec08957d529b773cb07d629d6ba7d82d4000492 Mon Sep 17 00:00:00 2001 From: Juan Date: Thu, 2 Jun 2022 13:33:16 +0200 Subject: [PATCH] Reading env vars --- b3-dev/node/session3/config.env/README-ENV.md | 70 +++++++++++++++++++++++++++ b3-dev/node/session3/config.env/README.md | 52 +++----------------- b3-dev/node/session3/config.env/env-show.js | 19 ++++++++ 3 files changed, 95 insertions(+), 46 deletions(-) create mode 100644 b3-dev/node/session3/config.env/README-ENV.md create mode 100644 b3-dev/node/session3/config.env/env-show.js diff --git a/b3-dev/node/session3/config.env/README-ENV.md b/b3-dev/node/session3/config.env/README-ENV.md new file mode 100644 index 0000000..6e4af44 --- /dev/null +++ b/b3-dev/node/session3/config.env/README-ENV.md @@ -0,0 +1,70 @@ +# les variables d'environnement en Node et une config qui en dépend + +## en windows CMD + +### initialiser + +``` +set VARIABLE=VALEUR +``` +attention sans espace autour du = sinon on ne déclare pas 'VARIABLE' mais 'VARAIBLE ' + +### lire +``` +set VARIABLE +``` +ou +``` +echo %VARIABLE% +``` + +### lister tout +``` +env +``` +(peut ne pas être reconnu) + +## en windows Powershell +### initialiser +``` +$env:set VARIABLE="VALEUR" +``` +- attention sans espace autour du = sinon on ne déclare pas 'VARIABLE' mais 'VARAIBLE ' +- attention par rapport à cmd il faut les guillemets + +### lire +``` +$env:VARIABLE +``` + +### lister tout +``` +env +``` +ou si la version précédente ne fonctionne pas +``` +Get-Childitem -path env: +``` + +## en zsh / sh / bash (OSX ou Linux) +### initialiser +``` +export VARIABLE=VALEUR +``` +- attention sans espace autour du = sinon on ne déclare pas 'VARIABLE' mais 'VARAIBLE ' + +### lire +``` +printenv VARIABLE +``` +### lister tout +``` +env +``` +ou +``` +printenv +``` + +## Et en node .... +cf exemple env-show.js \ No newline at end of file diff --git a/b3-dev/node/session3/config.env/README.md b/b3-dev/node/session3/config.env/README.md index 2c23675..fe32385 100644 --- a/b3-dev/node/session3/config.env/README.md +++ b/b3-dev/node/session3/config.env/README.md @@ -1,47 +1,7 @@ -# les variables d'environnement en Node et une config qui en dépend +# Exemple sur les variables d'environnement, ... mais pas que ! +On parlera aussi de process, util, fs, path ... -## en windows CMD - -### initialiser - -``` -set VARIABLE=VALEUR -``` -attention sans espace autour du = sinon on ne déclare pas 'VARIABLE' mais 'VARAIBLE ' - -### lire -``` -set VARIABLE -``` -ou -``` -echo %VARIABLE% -``` - -### lister tout -``` -env -``` -(peut ne pas être reconnu) - -## en windows Powershell -### initialiser -``` -$env:set VARIABLE="VALEUR" -``` -- attention sans espace autour du = sinon on ne déclare pas 'VARIABLE' mais 'VARAIBLE ' -- attention par rapport à cmd il faut les guillemets - -### lire -``` -$env:VARIABLE -``` - -### lister tout -``` -env -``` -ou si la version précédente ne fonctionne pas -``` -Get-Childitem -path env: -``` +## refs utiles : +- https://nodejs.org/api/process.html#process +- https://nodejs.org/api/fs.html +- https://nodejs.org/api/util.html \ No newline at end of file diff --git a/b3-dev/node/session3/config.env/env-show.js b/b3-dev/node/session3/config.env/env-show.js new file mode 100644 index 0000000..2da67cd --- /dev/null +++ b/b3-dev/node/session3/config.env/env-show.js @@ -0,0 +1,19 @@ +var response_txt=""; +var found_keys=0; + +// un code node contient forcéménet la variable process +// https://nodejs.org/api/process.html#process +// avec un objet env dont les proprité mappent le env du système + +// on peut parcourir les propriétés d'un objet avec Object.keys() +// donc dans notre cas : +var env_props = Object.keys(process.env); +// console.log(JSON.stringify(env_props)); +env_props.forEach( function (envkey) { + response_txt += "\n - "+envkey+" : "+process.env[envkey]; + found_keys++; +}); +// et on construit dans response.txt une liste de Variables : Valeurs correspondant +// à l'environnement système +// et on affiche dans la console +console.log("Found "+found_keys+" keys", response_txt); \ No newline at end of file