当资产被另一个过程更改时,Jekyll不会重新生成资产

时间:2019-03-27 22:17:09

标签: node.js gulp jekyll

我正在使用Gulp和Jekyll。我的文件结构是这样的:

_config.yml
gulpfile.js
gulp-src/
    css/
        main.scss
        _partial.scss
    js/
        main.js
        _partial.js
_assets/
    css/
        main.css
    js/
        main.js
_site/

预期流程为:

  1. Gulp监视对gulp-src的更改,然后将其编译为_assets
  2. Jekyll监视对_assets的更改,然后将其编译为_site
  3. Jekyll提供_site的内容

我运行bundle exec jekyll serve --watch --force-polling & npx gulp start

问题在于,在Gulp构建_assets的内容之后,Jekyll并没有持续重新生成。

  • 如果我手动更改_assets/css/main.css,则Jekyll更新。

  • 如果我手动更改gulp-src/css/main.scss,这导致Gulp更改_assets/css/main.scss,则Jekyll更新。

  • 如果我手动更改gulp-src/css/_partial.scss,这导致Gulp更改_assets/css/main.scss,则有时 Jekyll更新,而有时不会。 t。

在以下情况下也会发生这种情况:

  • 我使用jekyll serve --force-polling
  • 我使用Node的child_processspawnexec Jekyll
  • 我以相同的方式更改JS文件

“有时”使我认为这是比赛条件。关于如何避免这种情况的想法? (简单的答案是使jekyll build成为我的Gulp流程的一部分,并使用其他服务器,但无论如何我都想知道答案。)

0 个答案:

没有答案