Programming exercise: reading in environmental variables with dotenv
Programming, as a craft, is funny. Compared to other crafts, like professional musicians, programmers don’t seem to deliberately practice their craft.
I would argue that it is pretty noncontroversial to say that if you want to get better at something, you must practice. So if we want to become better programmers, we must practice programming!
In this exercise you learn how to read in a single environmental variable and output its contents to stdout. Repeat 5 times.
Exercise
Exercise:
Write a plain JavaScript file that reads in an environmental variable from a .env
file using the dotenv library.
Detailed instructions:
- Create a new folder called
practice-dotenv
- Enter the folder
practice-dotenv
- Install
dotenv
withnpm
- a new
.env
file and populate it with the variableFOO=BAR
- Create a new file
main.js
and have it read in the variables in.env
using thedotenv
library
Solution
mkdir practice-dotenv
cd practice-dotenv
npm i dotenv
Create a new file .env
with these contents. Notice that there are no spaces
around =
.
FOO=BAR
Create a new file called main.js
with the following contents.
require('dotenv').config();
console.log(process.env.FOO);
When we run it, this should be the expected output.
$ node main.js
BAR
Closing remarks
This exercise sounds trivial. Perhaps it is. Yet, if it is really this trivial, can you do it? Can you do it without peeking at the solution?
Do you really know how to do this? Or do you think you know it?
The first time I did this exercise without looking at the solution I tried to
console.log(NAME)
! This is wrong! The correct solution is
console.log(process.env.NAME)
. I thought I knew, but I didn’t! This
exercise poked a hole right through my veil of ignorance.
Please try out the exercise and let me know in the comments what you think of it! I’d love to hear your feedback on this piece.
Comments