Necesito su ayuda sobre cómo puedo usar el archivo .env en esta aplicación. aquí está mi problema: estoy creando una aplicación usando el módulo ES6 en mi aplicación node express. Me enfrento a un problema al almacenar mi variable en el archivo .env, las dos formas siguientes dan este error: MongooseError: The uri parameter to openUri() must be a string, got "undefined". Make sure the first parameter to mongoose.connect() or mongoose.createConnection() is a string. did not connect Pero cuando solo uso la conexión de cadena simple, eso significa que no estoy usando el archivo dotenv correctamente:
1-
import {} from "dotenv/config.js"; import express from "express"; import mongoose from "mongoose"; import cors from "cors"; const app=express() ... //DB config mongoose.connect(process.env.CONNECTION_URL, { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, }) app.listen(port,()=>console.log(`server on ${port}`)2-
import dotenv from "dotenv"; import express from "express"; import mongoose from "mongoose"; import cors from "cors"; dotenv.config(); const app=express() ... //DB config mongoose.connect(process.env.CONNECTION_URL, { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, }) app.listen(port,()=>console.log(`server on ${port}`)Aquí se explica cómo usarlo como módulo ES6
import * as dotenv from 'dotenv'; dotenv.config();Tiene razón, no está obteniendo las variables env.
Te diré cómo lo hago. Simplemente cree un archivo .env con sus variables.
Luego en tu app.js:
const dotenv = require('dotenv'); dotenv.config();Y para usar la variable uri que tienes en el .env
const foo = process.env.uri