env-config.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * @Author: Johnhong9527
  3. * @Date: 2019-05-26 06:52:34
  4. * @Last Modified by: Johnhong9527
  5. * @Last Modified time: 2019-05-26 09:55:03
  6. */
  7. 'use strict';
  8. /*
  9. "admintest.happymmall.com",
  10. "adminv2.happymmall.com"
  11. */
  12. const chalk = require('chalk');
  13. /*
  14. * 环境列表,第一个环境为默认环境
  15. * envName: 指明现在使用的环境
  16. * dirName: 打包的路径,只在build的时候有用
  17. * baseUrl: 这个环境下面的api 请求的域名
  18. * assetsPublicPath: 静态资源存放的域名,未指定则使用相对路径
  19. * */
  20. const ENV_LIST = [
  21. {
  22. envName: 'dev',
  23. dirName: 'dev',
  24. baseUrl: 'http://adminv2.happymmall.com',
  25. assetsPublicPath: './'
  26. },
  27. {
  28. envName: 'test',
  29. dirName: 'test',
  30. baseUrl: 'http://192.168.xx.xx:8000/',
  31. assetsPublicPath: './'
  32. },
  33. {
  34. envName: 'pro',
  35. dirName: 'pro',
  36. baseUrl: 'http://webapi.xxx.com/',
  37. assetsPublicPath: './'
  38. }
  39. ];
  40. //获取命令行参数 http://nodejs.cn/api/process.html#process_process_argv
  41. const argv = JSON.parse(process.env.npm_config_argv).original || process.argv;
  42. const HOST_ENV = argv[2] ? argv[2].replace(/[^a-z]+/gi, '') : '';
  43. //没有设置环境,则默认为第一个
  44. const HOST_CONF = HOST_ENV ? ENV_LIST.find(item => item.envName === HOST_ENV) : ENV_LIST[0];
  45. // 把环境常量挂载到process.env.HOST_ENV方便客户端使用
  46. process.env.BASE_URL = HOST_CONF.baseUrl;
  47. // log选中的变量
  48. console.log(chalk.green('当前环境常量:'));
  49. console.log(HOST_CONF);
  50. module.exports.HOST_CONF = HOST_CONF;
  51. module.exports.ENV_LIST = ENV_LIST;