不再是返回一个配置对象,而是返回一个函数,并且接受一个原始配置对象作为参数。

This commit is contained in:
陆柯 2021-01-26 20:01:42 +08:00
parent 7e3e194f6c
commit 563a069bd5

View File

@ -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
})()
}