咕嘟咕嘟不工作
问题描述:
我试图运行此之后一饮而尽,我在jekkyl模板中找到。 我在Windows 8.1上的节点4上运行,我不理解为什么每次我得到的:咕嘟咕嘟不工作
events.js:141
throw er; //Unhandled 'error' event
^
给我的感觉就是与Windows的东西,因为当我跑在Linux上我没有问题。
这是一饮而尽:
gulp.task('jekyll-build', function (done) {
browserSync.notify(messages.jekyllBuild);
return cp.spawn('jekyll', ['build'], {stdio: 'inherit'})
.on('close', done);
});
gulp.task('jekyll-rebuild', ['jekyll-build'], function() {
browserSync.reload();
});
gulp.task('browser-sync', ['jekyll-build'], function() {
browserSync({
server: {
baseDir: '_site'
}
});
});
gulp.task('stylus', function(){
gulp.src('src/styl/main.styl')
.pipe(plumber())
.pipe(stylus({
use:[koutoSwiss(), prefixer(), jeet(),rupture()],
compress: true
}))
.pipe(gulp.dest('_site/assets/css/'))
.pipe(browserSync.reload({stream:true}))
.pipe(gulp.dest('assets/css'))
});
gulp.task('js', function(){
return gulp.src('src/js/**/*.js')
.pipe(plumber())
.pipe(concat('main.js'))
.pipe(uglify())
.pipe(gulp.dest('assets/js/'))
});
gulp.task('imagemin', function() {
return gulp.src('src/img/**/*.{jpg,png,gif}')
.pipe(plumber())
.pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
.pipe(gulp.dest('assets/img/'));
});
gulp.task('watch', function() {
gulp.watch('src/styl/**/*.styl', ['stylus']);
gulp.watch('src/js/**/*.js', ['js']);
gulp.watch('src/img/**/*.{jpg,png,gif}', ['imagemin']);
gulp.watch(['*.html', '_includes/*.html', '_layouts/*.html', '_posts/*'], ['jekyll-rebuild']);
});
gulp.task('default', ['js', 'stylus', 'browser-sync', 'watch']);
有谁知道为什么和能帮助我理解?
答
我很高兴你试图帮助。幸运的是,我发现问题是Windows运行脚本的方式。我刚刚添加了如下所示的“.bat”:
gulp.task('jekyll-build', function (done) {
browserSync.notify(messages.jekyllBuild);
return cp.spawn('jekyll.bat', ['build'], {stdio: 'inherit'})
.on('close', done);
});
答
基本上主要的问题是在下面的行:
gulp.task('default', ['js', 'stylus', 'browser-sync', 'watch']);
数组中的任务同时发生。如果脚本和样式通常可以同时处理,那么browserSync几乎不能提供可能尚未创建的文件夹。您必须重新构建过程以在此添加一些同步。
我看也是另一个问题:
// stylus task
.pipe(gulp.dest('_site/assets/css/'))
.pipe(browserSync.reload({stream:true}))
.pipe(gulp.dest('assets/css'))
或
.pipe(gulp.dest('assets/js/'))
或
.pipe(gulp.dest('assets/img/'));
您服务_site
文件夹,但有时你复制到_site/assets/
,有时assets/
。此外,您应该删除stylus
任务中的最后一个gulp.dest
。
您应该添加一些关于您所看到的错误的更多详细信息,如果您可以粘贴整个错误消息,可能会有更多信息。 –