diff --git a/ConfigBasic.js b/ConfigBasic.js new file mode 100644 index 0000000..a09cc85 --- /dev/null +++ b/ConfigBasic.js @@ -0,0 +1,7 @@ +'use strict' + +module.exports = { // 全大写字母的,代表系统常量,不要在 userConfig 或命令行参数里覆盖。小写驼峰的,是用户可以覆盖的。 + commanderOptions: [ // 命令行里可以接受的参数。将传给 config.js 里的 commander。每个参数的定义格式是 [参数名,参数键,描述],后两者用于传给commander,取值后覆盖掉Config里的同名变量。 + ['port', '-p, --port ', 'web server port'] + ] +} diff --git a/server.js b/server.js index bdd0501..e873d15 100644 --- a/server.js +++ b/server.js @@ -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})`) }