Я использую 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/
Предполагаемый поток:
- Gulp отслеживает изменения в
gulp-src
, затем компилирует их в _assets
- Джекилл следит за изменениями в
_assets
, затем компилирует их в _site
- Джекил обслуживает содержимое
_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 и использовать другой сервер, но я все равно хотел бы знать ответ.)