hexo是如何加载配置文件的
hexo/index.js
首先在构造函数里初始化配置文件路径1
2
3//_config.yml就是根目录下的
this.config_path = args.config ? pathFn.resolve(base, args.config)
: pathFn.join(base, '_config.yml');
hexo有个默认的配置文件
default_config.js
1 | ; |
1 | this.config = _.clone(defaultConfig); |
随后在init函数中初始化配置:
Hexo.prototype.init
1 | // Load config |
init函数就是在hexo-cli/hexo.js中加载完hexo模块后就调用的:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18return findPkg(cwd, args).then(function(path) {
if (!path) return;
hexo.base_dir = path;
return loadModule(path, args).catch(function() {
log.error('Local hexo not found in %s', chalk.magenta(tildify(path)));
log.error('Try running: \'npm install hexo --save\'');
process.exit(2);
});
}).then(function(mod) {
if (mod) hexo = mod;
log = hexo.log;
require('./console')(hexo);
return hexo.init();
})