diff --git a/index.js b/index.js index 03bf3c5..f722e7f 100644 --- a/index.js +++ b/index.js @@ -3,8 +3,9 @@ const path = require('path') const commander = require('commander') const deepmerge = require('deepmerge') -module.exports = (function () { +module.exports = function (rawConfig) { if (!global.SysConfig) { + global.SysConfig = rawConfig // 不知为何,必须定义成全局变量,才能保证多次require只执行一次。 console.info('★★★★★★★★ Starting System Configuration (开始系统配置:依次载入基础配置、用户配置、机密配置、命令行参数) ★★★★★★★★') @@ -17,7 +18,7 @@ module.exports = (function () { console.info(' -- Loading Configuration Files (读取配置文件)') let configFile if (fs.existsSync((configFile = path.join(process.cwd(), './ConfigBasic.js')))) { - global.SysConfig = deepmerge({}, require(configFile)) + global.SysConfig = deepmerge(global.SysConfig, require(configFile)) console.info(`${configFile} loaded`) } else { console.info(` Missing and omitting ${configFile}`) @@ -62,4 +63,4 @@ module.exports = (function () { console.log('Final Configuration: ', global.SysConfig) console.log('######## Completed System Configuration ########') return global.SysConfig -})() +}