diff --git a/packages/@vuepress/core/lib/node/loadConfig.js b/packages/@vuepress/core/lib/node/loadConfig.js index c786e88d44..bc788ac853 100644 --- a/packages/@vuepress/core/lib/node/loadConfig.js +++ b/packages/@vuepress/core/lib/node/loadConfig.js @@ -4,7 +4,7 @@ * Module dependencies. */ -const { fs, path } = require('@vuepress/shared-utils') +const { fs, path, logger } = require('@vuepress/shared-utils') const yamlParser = require('js-yaml') const tomlParser = require('toml') @@ -28,9 +28,14 @@ module.exports = function loadConfig (vuepressDir, bustCache = true) { } else if (fs.existsSync(configTomlPath)) { siteConfig = parseConfig(configTomlPath) } else if (fs.existsSync(configPath)) { - siteConfig = require(configPath) + if (typeof require(configPath).then === 'function') { + siteConfig = require(configPath).then((config) => config).catch(()=>{ + logger.error('Sorry ! We were unable to load your async configuration'); + }) + } else { + siteConfig = require(configPath) + } } - return siteConfig }