diff --git a/lib/config.js b/lib/config.js index 6985b320..7457ac3a 100644 --- a/lib/config.js +++ b/lib/config.js @@ -4,6 +4,9 @@ import BLOG from '@/blog.config' import { useGlobal } from './global' import { deepClone, isUrl } from './utils' +const getValue = (value, fallback) => (hasVal(value) ? fallback : value) +const hasVal = value => value !== undefined && value !== null + /** * 读取配置顺序 * 1. 优先读取NotionConfig表 @@ -35,7 +38,9 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => { case 'IS_TAG_COLOR_DISTINGUISHED': case 'TAG_SORT_BY_COUNT': case 'LINK': - return convertVal(extendConfig[key] || defaultVal || BLOG[key]) + return convertVal( + getValue(extendConfig[key], getValue(defaultVal, BLOG[key])) + ) default: } @@ -79,16 +84,16 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => { } // 其次 有传入的extendConfig,则尝试读取 - if (!val && extendConfig) { + if (!hasVal(val) && extendConfig) { val = extendConfig[key] } // 其次 NOTION没有找到配置,则会读取blog.config.js文件 - if (!val) { + if (!hasVal(val)) { val = BLOG[key] } - if (!val) { + if (!hasVal(val)) { return defaultVal }