将Jekyll与Gulp和Livereload结合使用

emp

这个问题向我暗示了如何在Gulp中运行Jekyll。

除了我无法触发livereload(但它运行没有错误)之外,它都可以正常工作。

我对Node的了解有限,所以我可能缺少一些东西...

var gulp = require('gulp');
var refresh = require('gulp-livereload');
var lr = require('tiny-lr');
var server = lr();

gulp.task('jw', function(){
    var spawn = require('child_process').spawn,
        j     = spawn('jekyll', ['-w', 'build']);

    j.stdout.on('data', function (data) {
        console.log('stdout: ' + data); // works fine
        refresh(server); // doesn’t trigger
    });
});
太过狂热

gulp-livereload需要通过gulp.src()或其他乙烯基输入源通过管道传输文件在这种情况下,我建议添加gulp-watch以监视Jekyll写入的文件,并根据该文件重新加载。

它看起来像这样:

var gulp = require('gulp');
var refresh = require('gulp-livereload');
var watch = require('gulp-watch');
var lr = require('tiny-lr');
var server = lr();

gulp.task('jw', function(){
    var spawn = require('child_process').spawn,
        j     = spawn('jekyll', ['-w', 'build']);

    j.stdout.on('data', function (data) {
        console.log('stdout: ' + data); // works fine
    });

    watch({glob: '/glob/path/to/jekyll/output'}, function(files) {
        // update files in batch mode
        return files.pipe(refresh(server));
    });
});

只要Jekyll仅重写已更改的文件,就可以完美地工作但是,如果它覆盖了所有内容,那么livereload只会在每次更改时刷新浏览器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Jekyll与Gulp和Livereload一起使用

来自分类Dev

将Jekyll与Gulp一起使用

来自分类Dev

gulp网站服务器和livereload

来自分类Dev

将gulp-livereload与Watchify集成

来自分类Dev

将Grunt / Gulp和Livereload集成到服务PHP / Zend的现有Apache服务器

来自分类Dev

使用node.js和gulp时,无法使livereload正常工作

来自分类Dev

浏览器不会使用gulp和livereload重新加载

来自分类Dev

Gulp-livereload,-webserver和-embedlr。如何一起使用?

来自分类Dev

浏览器不会使用gulp和livereload重新加载

来自分类Dev

使gulp与livereload一起使用

来自分类Dev

将Spring和Spark结合使用

来自分类Dev

将Ninject与Owin和InRequestScope结合使用

来自分类Dev

将SqsListener与SNS和SQS结合使用

来自分类Dev

将.netrc与SourceForge和Git结合使用

来自分类Dev

将Firebase与Webpack和TypeScript结合使用

来自分类Dev

将JSON与HighCharts和AJAX结合使用

来自分类Dev

将MySQL IN()与PHP和PDO结合使用

来自分类Dev

将QueryXML与SUDS和Python结合使用

来自分类Dev

将Carrierwave和Capistrano与Rails结合使用

来自分类Dev

将管道与 *ngIf 和 Observables 结合使用

来自分类Dev

gulp-watch和LiveReload,重新加载为时过早

来自分类Dev

gulp-watch和LiveReload,重新加载为时过早

来自分类Dev

将咖啡和js开发与Gulp结合在一起

来自分类Dev

将咖啡和js开发与Gulp结合在一起

来自分类Dev

将'and'和'or'逻辑与下拉菜单和MixItUp结合使用

来自分类Dev

Chrome中的Gulp Livereload

来自分类Dev

PHP Gulp Livereload

来自分类Dev

PHP Gulp Livereload

来自分类Dev

如何结合gulp-watch和gulp-inject?