为什么 hexo 在开发和生产中的文件夹结构不同?

Why is the folder structure for hexo different for hexo in development and production ?

我是 nodejs 的新手,我有以下关于在 nodejs 中构建的博客系统的问题,它称为 hexojs,这个开发中的博客框架的文件结构如下所示:

,

如您所见,主要源代码位于 lib 文件夹中。出于贡献目的,您必须遵循以下说明(可以看出 HERE ):

$ git clone https://github.com/<username>/hexo.git
$ cd hexo
$ npm install
$ git submodule update --init

但是在实际构建和部署一个hexo博客的时候,文件结构变成了下面这样:

要在您的本地系统上构建产品,您必须运行以下命令(可以看出HERE):

$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo server

我的问题是为什么hexo开发版和生产版的文件夹结构不同?另外在生产版中,hexo的源代码到底在哪里?

Hexo 是使用 node.js 构建的命令行实用程序。它基本上是一个全局安装的节点模块。

你的博客也是一个节点模块。可以看出与hexo源码的相似之处:你的博客和hexo都包含package.jsonnode_modules

但是您博客的源代码是由 hexo 生成的。此过程称为 脚手架 ,为您的博客构建一个基本结构,使您可以在此基础上进一步构建。

这就是您造成混淆的地方:您将博客(由 hexo init blog 生成)误认为是 hexo 的生产版本,这是一个完全不同的概念。在此上下文中的生产构建意味着发布到 npm 的 hexo 版本已准备好供最终用户在生产中使用。

文件夹结构的差异可以解释为每个模块的不同用途:hexo 需要执行脚手架,而您的博客需要显示一些帖子。例如hexo有一个test文件夹,它对脚手架过程进行单元测试,而你的博客不需要任何自动化测试。

hexo 的源代码可以在 npm 包的全局安装文件夹中找到:/usr/local/lib/node%USERPROFILE%\AppData\Roaming\npm\node_modules,具体取决于您的平台。