我是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的源代码到底在哪里?
答案 0 :(得分:1)
Hexo是使用node.js构建的命令行实用程序。它基本上是全局安装的节点模块。
您的博客也是节点模块。您可以看到与hexo的源代码的相似之处:您的博客和hexo都包含package.json
和node_modules
。
但是您的博客的源代码是由hexo 生成的。此过程称为 scaffolding (脚手架),该过程为您的博客构建了一个基本结构,可让您进一步在此基础上进行构建。
这是您造成困惑的地方:您误以了十六进制的生产版本(由hexo init blog
生成),这是一个完全不同的概念。在这种情况下,生产构建意味着发布到npm的hexo版本,供最终用户在生产中使用。
文件夹结构的不同可以通过每个模块的不同用途来解释:hexo需要执行脚手架,而您的博客需要显示一些帖子。例如hexo有一个test
文件夹,它在脚手架过程中执行单元测试,而您的博客不需要任何自动化测试。
可以在npm软件包的全局安装文件夹中找到hexo的源代码:/usr/local/lib/node
或%USERPROFILE%\AppData\Roaming\npm\node_modules
,具体取决于您的平台。