Jekyll не восстанавливает активы, когда они изменяются другим процессом - PullRequest
0 голосов
/ 28 марта 2019

Я использую 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. Джекилл следит за изменениями в _assets, затем компилирует их в _site
  3. Джекил обслуживает содержимое _site

Я запускаю bundle exec jekyll serve --watch --force-polling & npx gulp start.

Проблема в том, что Jekyll не регенерирует последовательно после того, как Gulp создает содержимое _assets.

  • Если я вручную изменю _assets/css/main.css, то Jekyll обновляет.

  • Если я вручную изменю gulp-src/css/main.scss, что приводит к изменению Gulp _assets/css/main.scss, то Jekyll обновляется.

  • Если я вручную изменяю gulp-src/css/_partial.scss, что вызываетГлотайте, чтобы изменить _assets/css/main.scss, затем иногда Jekyll обновляет и иногда этого не происходит.

Это также происходит, когда:

  • Я использую jekyll serve --force-polling
  • Я использую Node's child_process to spawn или exec Jekyll
  • Я делаю изменения в файлах JS таким же образом

ometimes "заставляет меня думать, что это состояние гонки.Мысли о том, как этого избежать?(Простой ответ - сделать jekyll build частью моего потока Gulp и использовать другой сервер, но я все равно хотел бы знать ответ.)

...