javascript - Environment variables not passed in Gulp/Node -
so have gulp task sets node_env, , run set env variable before run dependant tasks.
//gulpfile.js gulp.task('set-dev-environment', () => { return process.env.node_env = 'development'; }); gulp.task('compile-dev', ['set-dev-environment'], () => { console.log(process.env.node_env); // (1) correctly prints "development" const config = require('./configuration.js'); //...do config... }) here configuration.js
// configuration.js console.log(process.env.node_env); // (2) prints undefined!! const __dev__ = process.env.node_env === 'development' if (__dev__) { // return development configuration } else { // return production configuration } as can see, after set environment variabale, "require" configuration.js file, returns different content based on environment variable.
this extremely simplified version of code, point when "require" js file, node_env undefined.
however in gulp task 'compile-dev', turns out node_env set correctly.
from logs, seems if (2) printed before (1), meaning configuration.js required before 'compile-dev' run in gulp..
why isn't configuration.js imported dynamically (after env variable set), , how fix problem?
Comments
Post a Comment