Javascript 管道工,通知和自定义错误功能给我一个插件错误';水管工:信息:Can';t管未定义

Javascript 管道工,通知和自定义错误功能给我一个插件错误';水管工:信息:Can';t管未定义,javascript,gulp,plumber,Javascript,Gulp,Plumber,我正在node、gulp和handlebar中构建一个Wordpress主题入门应用程序来创建模板 我有一个问题与水管工,通知和吞咽sass插件一起工作 以下是我的回购协议的链接: 每次我尝试使用gulp任务编译sass时,我都会遇到一个错误: 插件“水管工”消息中出现错误: 无法将管道连接到未定义的管道 我有一个Pumbler错误函数,一个SASS任务预处理SASS,一个gulp watch任务在文件更改时触发SASS TAK var gulp=需要(“gulp”); var gutil

我正在node、gulp和handlebar中构建一个Wordpress主题入门应用程序来创建模板

我有一个问题与水管工,通知和吞咽sass插件一起工作

以下是我的回购协议的链接:

每次我尝试使用gulp任务编译sass时,我都会遇到一个错误:

插件“水管工”消息中出现错误: 无法将管道连接到未定义的管道

我有一个Pumbler错误函数,一个SASS任务预处理SASS,一个gulp watch任务在文件更改时触发SASS TAK


var gulp=需要(“gulp”);
var gutil=require('gulp-util');
var autoprefixer=require('gulp-autoprefixer');
var sass=需要('gulp-sass');
var管道工=需要(“大口管道工”);
var notify=需要('gulp-notify');
var browserSync=require('browser-sync');
var cache=require('gulp-cache');
var imageOpt=require('gulp-image-optimization');
var jshint=require('gulp-jshint');
var useref=require('gulp-useref');
var-uglify=需要('gulp-uglify');
var gulpIf=需要('gulp-if');
var clean=需要('gulp-clean');
var cssnano=需要('gulp-cssnano');
var concat=需要(“咕噜咕噜咕噜”);
var del=需要('del');
var runSequence=require('run-sequence');
var sourcemaps=require('gulp-sourcemaps');
var fs=需要('fs');
// ==========================================================
//抽水机误差函数
// ==========================================================
功能客户管道工(errTitle){
回程水管工({
errorHandler:notify.onError({
//自定义错误标题
标题:errTitle | |“错误运行Gulp”,
信息:“错误:”,
声音:“玻璃”
})
});
}
// ==========================================================
//样式任务
// ==========================================================
gulp.task('sass',function(){
return gulp.src(path.styles.src+'***.scss')
.pipe(customPlumber(“运行Sass时出错”)
//inititalizr sourcemap,然后再插入任何其他更改文件的插件
.pipe(sourcemaps.init())
.管道(sass)({
包括路径:[“主题/凉亭组件”],
精度:2
}))
.管道(自动刷新器)({
浏览器:['ie 8-9','last 2 versions']
}))
.pipe(sourcemaps.write('./'))
.pipe(吞咽目标(路径、样式、构建))
.pipe(browserSync.reload())
})
// ==========================================================
//监视任务
// ==========================================================
gulp.task('watch',['browserSync'],function(){
gulp.watch(basepath.src+'sass/***.scss',['sass']);
gulp.watch(path.scripts.src+'**.js',browserSync.reload);
gulp.watch('theme/*.html',browserSync.reload);
gulp.watch('theme/js/***.js',['jshint']);

})
自定义错误函数不会抛出错误。管道上有一些未定义的管道。在sourcemaps测线处似乎未定义管道。你应该需要gulp sourcemaps


编辑后:在这种情况下,您应该更改

  .pipe(sync.reload());
像这样排队

  .pipe(sync.reload({stream:true}));
附加负离子
在吞咽任务中,管道中应该有一条小溪。每个管道都应该返回流对象,以便将流传递到下一个管道

在代码的第一个版本;同步,由于重载方法而中断流循环不会返回任何结果。由于这个原因,他大口大口地抛出了一个错误。stream:true属性尝试注入流并返回传入流。就是这样

实际上,您可以使用sync.stream()而不是sync.reload()。或者,如果你不想注入你的风格,你可以像这个例子一样应用


感谢您的帮助,不幸的是,我仔细检查了我所有的模块和要求,并且我有sourcemap、notify、AutoRefixer,所以我仍然不知道什么是未定义的。。。对主题的任何更改都可以为主题提供更多的信息。我正在学习,因此我将感谢您提供的任何帮助:)谢谢,伙计,我将sass-taks中的最后一行更改为:.pipe(browserSync.reload({stream:true}))现在工作得很好,再次感谢您能解释一下为什么我需要stream-true吗?这样我就可以把它牢记在心,而不是自己猜测:)在吞咽任务中,管道中应该有一条小溪。每个管道都应该返回流对象,以便将流传递到下一个管道。在代码的第一个版本;同步,由于重载方法而中断流循环不会返回任何结果。由于这个原因,他大口大口地抛出了一个错误。stream:true属性尝试注入流并返回传入流。就是这样。实际上,您可以使用sync.stream()而不是sync.reload()。或者,如果你不想注入你的风格,你可以像这个例子一样应用