纠正:无论有没有用户配置,都要Object.assign(最基础配置,用户配置)

This commit is contained in:
陆柯 2020-05-30 14:25:22 +08:00
parent c432743461
commit b99923cd90
2 changed files with 12 additions and 5 deletions

7
ConfigBasic.js Normal file
View File

@ -0,0 +1,7 @@
'use strict'
module.exports = { // 全大写字母的,代表系统常量,不要在 userConfig 或命令行参数里覆盖。小写驼峰的,是用户可以覆盖的。
commanderOptions: [ // 命令行里可以接受的参数。将传给 config.js 里的 commander。每个参数的定义格式是 [参数名,参数键,描述]后两者用于传给commander取值后覆盖掉Config里的同名变量。
['port', '-p, --port <number>', 'web server port']
]
}

View File

@ -1,9 +1,8 @@
const fs = require('fs')
const path = require('path')
const Config = require('so.base/Config.js')
if (!Config || Object.keys(Config).length===0) {
Config = { // 默认配置,如果用户什么也没有提供
const Config = Object.assign({
// 最基础的必须的默认配置,如果用户什么也没有提供
protocol: 'http',
host: 'localhost',
from: './dist', // local path to serve as webroot
@ -13,8 +12,9 @@ if (!Config || Object.keys(Config).length===0) {
{ webroot: 'dist', webindex: 'index.html', domainList: ['']}
],
*/
}
}
},
require('so.base/Config.js')
)
if (typeof(Config.ssl)==='string') {
Config.ssl = eval(`(${Config.ssl})`)
}