xgqfrms / typescript-in-action

TypeScript in Action
MIT License
1 stars 0 forks source link

process.env & process.argv #2

Open xgqfrms opened 4 years ago

xgqfrms commented 4 years ago

process.env & process.argv

const log = console.log;

// log(`process.env =\n`, process.env)
log(`process.argv =\n`, process.argv)
xgqfrms commented 4 years ago
const log = console.log;

// log(`process.env =\n`, process.env)
// log(`process.argv =\n`, process.argv)
// [
//   '/Users/xgqfrms-mbp/.nvm/versions/node/v10.16.3/bin/node',
//   '/Users/xgqfrms-mbp/Documents/GitHub/typescript-in-action/node_modules/.bin/webpack',
//   '--mode=production',
//   '--config',
//   './build/webpack.config.js'
// ]

module.exports = (env, args) => {
  log(`process.env.NODE_ENV =`, process.env.NODE_ENV)
  log(`env =`, env)
  log(`args =\n`, args)
  // process.env.NODE_ENV = undefined
  // env = undefined
  // args =
  // {
  //   _: [],
  //   cache: null,
  //   bail: null,
  //   profile: null,
  //   color: { level: 3, hasBasic: true, has256: true, has16m: true },
  //   colors: { level: 3, hasBasic: true, has256: true, has16m: true },
  //   mode: 'production',
  //   config: './build/webpack.config.js',
  //   'info-verbosity': 'info',
  //   infoVerbosity: 'info',
  //   '$0': '/Users/xgqfrms-mbp/Documents/GitHub/typescript-in-action/node_modules/.bin/webpack'
  // }
  // log(`process.env.NODE_ENV =`, process.env.NODE_ENV)
  // log(`env =`, env)
  // log(`args =\n`, args)
  const config = args.mode === 'development' ? devConfig : proConfig;
  return merge(baseConfig, config);
};
xgqfrms commented 4 years ago

webpack mode

https://webpack.js.org/configuration/mode/

process.env.NODE_ENV

If not set, webpack sets production as the default value for mode.

# string = 'production': 'none' | 'development' | 'production'
$ webpack --mode=none
$ webpack --mode=development
$ webpack --mode=production

process.env.NODE_ENV

$ process.env.NODE_ENV=production && webpack
$ process.env.NODE_ENV=development && webpack

https://github.com/xgqfrms-GitHub/Node-CLI-Tools/issues/13

linux & mac

# process.env.NODE_ENV="production"
$ export NODE_ENV=production

windows

$ set NODE_ENV=production