要解释 Hexo 与 Hexo-cli 的关系 和 区别,先看 2 个项目:
https://github.com/hexojs/hexo
https://github.com/hexojs/hexo-cli
一个是 hexo,一个是 hexo-cli ,那么,hexo 与 hexo-cli 2 个项目是什么关系?有什么区别?
从 hexo 官方的 readme (https://github.com/hexojs/hexo ) 的使用说明来看,npm install hexo-cli -g
安装的都是 hexo-cli ,没看到哪里使用了 hexo 模块。
hexo-cli git 仓库中,package.json 也没有看到它依赖 hexo这个模块,package-lock.json 也没有看到 hexo 的这个npm模块。
那么 hexo 到底做了什么?完全也没看到依赖关系,hexo 不见踪影。只看到 hexo-cli 的存在。
摸索一会儿之后,后来,我摸清楚 hexo 与 hexo-cli 的相互关系了。
hexo-cli 命令行,npm install hexo-cli -g
安装之后,然后就可以创建 hexo 项目了:hexo init blog
但是,生成项目之后,项目里面依赖的模块就是 hexo 模块了。
这样,关系就清晰了。
hexo cli,负责创建 hexo 工程,创建了工程之后,就 hexo-cli 就全身而退了。hexo-cli 把接力棒交给了 hexo。
hexo 模块,负责真正的项目管理工作(生成静态页面、预览等)。
创建项目之后,在项目根目录下,package.json 能看到依赖:"hexo": "^3.2.0"
也就是说,项目创建后,依赖的就是 hexo 了,hexo 负责全部的工作了。
English:
Hexo-cli is a cli service for create a project.
when project was created, all the things doing with hexo module.
you can see the hexo module and version in /package.json file in a new hexo project.