How to use environment variables in Deno
In this tutorial, we are going to learn about how to use the environment variables with .env file in Deno.
Environment variables
Environment variables are used to hide important information about your Deno app to public users. Such as API Secret keys, passwords and, app URLs, etc.
Defining environment variables
To define environment variables, we need to create a new file called .env in our root deno app folder.
Now, add the following environment variables to the .env file.
MY_API_KEY=YEUU93YHGDM
MY_API=https://api.example.com/v2/usersIn the above code, we have defined two environment variables by using key=value pairs.
Note: Don’t commit
.envfile to a public GitHub repository, add it to a.gitignorefile to avoid accidental commits.
Accessing the environment variables
To access the environment variables inside the deno app files, we need to import the config function and invoke it.
import { config } from 'https://deno.land/x/dotenv/mod.ts';
const env = config();
console.log(env.MY_API_KEY); // YEUU93YHGDM
console.log(env.MY_API); // https://api.example.com/v2/usersThe config() function returns an object with key/value pairs we defined in .env file
To run your app without any errors, you need to allow read access to a deno process by using --allow-read flag.
➜ deno run --allow-read app.js
YEUU93YHGDM
https://api.example.com/v2/usersOr you can use es6 object destructuring.
import { config } from 'https://deno.land/x/dotenv/mod.ts';
const {MY_API_KEY, MY_API_KEY} = config();
console.log(MY_API_KEY); // YEUU93YHGDM
console.log(MY_API); // https://api.example.com/v2/usersAuto loading
The load.ts module helps us to automatically load the local .env file to a deno process.
Example:
import "https://deno.land/x/dotenv/load.ts";
console.log(Deno.env.get("MY_API_KEY"));
console.log(Deno.env.get("MY_API"));➜ deno --allow-env --allow-read app.js
YEUU93YHGDM
https://api.example.com/v2/users

