do I have to set the process.env.NODE_ENV myself when I am in development? Does node not set the .env to production when I have a build folder, and development when I am in local environment? I was under the impression many libraries use this as a optimization tool
for example in my app.js file the console.log code turns up undefined
console.log(process.env.NODE_ENV)
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const postsRouter = require('./routes/Post_Route');
const path = require("path")
// parse body on every request //
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
//Routes
app.use('/api/posts', postsRouter);
// Serve up static assets (usually on heroku)
if (process.env.NODE_ENV === 'production') {
app.use(express.static(path.join(__dirname, 'client', 'build')));
}
console.log(process.env.NODE_ENV)
if (process.env.NODE_ENV === 'production') {
console.log(`Mongoose is in production === ${process.env.NODE_ENV} mongo uri is ${process.env.MONGO_URI_PROD}`)
// connect DB
when I set the NODE.ENV in my .env file I see it as development, am I to set it manually in development then on heroku for example set the NODE_ENV as production?