.env file:
It helps keep sensitive information, like database credentials, out of your source code and allows for easier collaboration management in your project.
config file:
Using a config.js
file to manage environment variables loaded from a .env
file provides a structured and organized way to handle configuration in your Node.js applications.
Separation of Concerns
Centralized Configuration
Ease of Use
Consistency
Compatibility
1.Installation:
Make sure you have the dotenv
package installed
pnpm install dotenv
2.Create a .env
File:
Add your environment-specific variable to a .env
file in your project's root directory:
DB_URL = "127.0.0.1"
DB_PORT = "27017"
S3_BUCKET = "YOURLINK"
3.Usage in Node.js: config.js:
import "dotenv/config";
const {
DB_URL = "mongodb://localhost",
DB_PORT = 27017,
S3_BUCKET } = process.env // object destructuring
/*
export const dbURL = DB_URL ? `${DB_URL}: ${DB_PORT}`
:"mongodb://localhost:27017";
*/
export const dbURL = `${DB_URL}:${DB_PORT}`;
export const S3bucket = S3_BUCKET;
4.Explanation:
We import
dotenv
and calldotenv.config()
to load the variable from the.env
file intoprocess.env
.This code uses object destructuring to extract the
DB_URL
,DB_PORT
, andS3_BUCKET
environment variables fromprocess.env
.If
DB_URL
orDB_PORT
is not present in the environment variables, default values of"mongodb://
localhost
"
and27017
are used, respectively.The
dbURL
variable is constructed by combiningDB_URL
andDB_PORT
with a colon (:
) separator.The
S3bucket
variable simply exports the value ofS3_BUCKET
.
5.Usage in Your Application:
You can now import the config
object and use it in your application:
import {dbURL} from "./config.js";
console.log("DBURL:", dbURL)
This code snippet imports the dbURL
variable from config.js
, which likely contains logic to construct a database URL using environment variables. It then logs this dbURL
value to the console, showing the configured database URL. This approach keeps sensitive information separate from the main codebase, simplifying configuration management.
Conclusion:
Using ES6 syntax can make your code more concise and easier and easier to read, especially when working with modules and exports.