我正在使用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-src
的更改,然后将其编译为_assets
_assets
的更改,然后将其编译为_site
_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
child_process
到spawn
或exec
Jekyll “有时”使我认为这是比赛条件。关于如何避免这种情况的想法? (简单的答案是使jekyll build
成为我的Gulp流程的一部分,并使用其他服务器,但无论如何我都想知道答案。)