diff --git a/envar-tool.js b/envar-tool.js index 82b46f6..9c2a0c9 100644 --- a/envar-tool.js +++ b/envar-tool.js @@ -1,6 +1,5 @@ const fs = require('fs') const path = require('path') -const commander = require('commander') const deepmerge = require('deepmerge') module.exports = { @@ -57,22 +56,27 @@ module.exports = { console.warn(` - unrecognized envarFiles!`) } - if (Array.isArray(global.envar.commanderOptions)) { - console.info('- Loading Command Line Parameters (载入命令行参数)') - commander.version(global.envar.Base_Version || '0.0.1', '-v, --version') // 默认是 -V。如果要 -v,就要加 '-v --version' - for (let [key, param, desc] of global.envar.commanderOptions || []) { - commander.option(param, `${desc} Default = "${global.envar[key]}"`) - } - commander.parse(process.argv) - delete global.envar.commanderOptions + try { + const commander = require('commander') + if (Array.isArray(global.envar.commanderOptions)) { + console.info('- Loading Command Line Parameters (载入命令行参数)') + commander.version(global.envar.Base_Version || '0.0.1', '-v, --version') // 默认是 -V。如果要 -v,就要加 '-v --version' + for (let [key, param, desc] of global.envar.commanderOptions || []) { + commander.option(param, `${desc} Default = "${global.envar[key]}"`) + } + commander.parse(process.argv) + delete global.envar.commanderOptions - // console.log('- Merging Command Line Parameters into Configuration (把命令行参数值合并入配置)') - for (let key in commander) { - if (!/^_/.test(key) && typeof commander[key] === 'string') { - // commander 自带了一批 _开头的属性,过滤掉 - global.envar[key] = commander[key] + // console.log('- Merging Command Line Parameters into Configuration (把命令行参数值合并入配置)') + for (let key in commander) { + if (!/^_/.test(key) && typeof commander[key] === 'string') { + // commander 自带了一批 _开头的属性,过滤掉 + global.envar[key] = commander[key] + } } } + } catch (e) { + console.error(' - commander not available!') } console.log(`>>>>>>>> Configured [${global.envar.prodev}] Variables >>>>>>>>`)