Jekyll编译似乎太慢了

Kei*_*ing 20 optimization build jekyll

我是第一次与杰基尔建立网站.到目前为止我很喜欢它; 我唯一的问题是构建时间过长.现在,当我运行时jekyll build,生成网站大约需要30秒.

30秒可能看起来不是很多,但目前,整个网站只有一个帖子,8个包含,8个布局和2个小插件.据我所知,我没有滥用液体标签,如果我删除了插件,它仍然需要同样长的时间.

在寻找答案时,我能找到的所有人都拥有数百个帖子的博客.由于我只有一个帖子,这显然不是问题 - 这里还有其他事情可以让它花费这么长时间.

这是我的网站的github存储库:https://github.com/keithpickering/kpd/

我的问题如下:

  1. 当Jekyll没有那么多东西建造时,它有什么可能的原因?

  2. 如果Jekyll本身就很慢,有没有一种简单的方法可以单独编译我​​的CSS和JS,让Jekyll只处理标记?现在我让Jekyll忽略我的"css"和"js"文件夹,而不是让Grunt缩小,添加前缀并自动编译这些文件.我之前从未使用过Grunt所以我不知道这是否是我正在使用的某种荒谬的hacky解决方案.

谢谢您的帮助!

编辑:应该早点提到这个,但我在Windows 8.1 x64上.我开始认为Jekyll对Windows有不稳定的支持.

小智 42

我遇到了类似的问题,但幸运的是找到了原因和解决方案:

我的jekyll设置没有使用任何插件,没有复杂的液体标签,只包含3个样本帖,没有别的.但建设网站平均需要6秒.

只有当我逐步删除目录中的everthing时,我才发现导致构建时间过长的原因:node_modules文件夹.

您可以node_modules通过将以下内容放入jekyll转换中来排除该目录_config.yml:

exclude: [node_modules]
Run Code Online (Sandbox Code Playgroud)

要么:

exclude:
    - node_modules
Run Code Online (Sandbox Code Playgroud)

有关更多信息exclude,请参阅jekyll 文档.


Dam*_*ica 7

你只能渲染最新的帖子:

jekyll serve --watch --limit_posts 1
Run Code Online (Sandbox Code Playgroud)

在我的情况下,它几乎快了两倍.

更新:

更好的是,只重建改变的内容:

jekyll serve --incremental
Run Code Online (Sandbox Code Playgroud)

在我的情况下,速度提高了30倍!不幸的是,仅适用于博客文章和一些页面.

  • ```jekyllserve --incremental``` - 不敢相信,为什么我没有早点看看这个问题,我的网站重新生成非常慢(大约 35 秒),现在大约是第二。 (2认同)