Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Gulp 4-任务未完成-Gulpfile.js Browsersync_Node.js_Sass_Gulp_Browser Sync - Fatal编程技术网

Node.js Gulp 4-任务未完成-Gulpfile.js Browsersync

Node.js Gulp 4-任务未完成-Gulpfile.js Browsersync,node.js,sass,gulp,browser-sync,Node.js,Sass,Gulp,Browser Sync,我有点纠结于把原来的Gulp 3 Gulpfile换成Gulp 4 我已经到了一个地步,除了默认任务和服务任务没有在powershell中标记为已完成之外,所有这些似乎都可以工作 我怎样才能解锁代码并让它们正确完成 var gulp=require('gulp'); var browserSync=require('browser-sync')。create(); var sass=需要('gulp-sass'); //将sass编译成CSS并自动注入浏览器 gulp.task('sass',

我有点纠结于把原来的Gulp 3 Gulpfile换成Gulp 4

我已经到了一个地步,除了默认任务和服务任务没有在powershell中标记为已完成之外,所有这些似乎都可以工作

我怎样才能解锁代码并让它们正确完成

var gulp=require('gulp');
var browserSync=require('browser-sync')。create();
var sass=需要('gulp-sass');
//将sass编译成CSS并自动注入浏览器
gulp.task('sass',function(){
返回gulp.src(['node_modules/bootstrap/scss/bootstrap.scss','src/scss/*.scss']))
.pipe(sass())
.管道(大口目的地(“src/css”))
.pipe(browserSync.stream());
});
//将javascript文件移动到/src/js文件夹中
gulp.task('js',function(){
返回gulp.src(['node_modules/bootstrap/dist/js/bootstrap.min.js','node_modules/jquery/dist/jquery.min.js','node_modules/popper.js/dist/umd/popper.min.js'])
.管道(大口目的地(“src/js”))
.pipe(browserSync.stream());
});
//静态服务器+监视scss/html文件
gulp.task('service',gulp.series('sass',function(){
browserSync.init({
服务器:“./src”
});
gulp.watch(['node_modules/bootstrap/scss/bootstrap.scss','src/scss/*.scss'],gulp.series('sass'));
gulp.watch(“src/*.html”).on('change',browserSync.reload);
}));

gulp.task('default',gulp.parallel('js','service'))你的
发球
系列中的第二个任务没有返回任何东西,gulp不明白这一点。任务可以返回流或承诺,或者必须调用回调参数来表示完成,如下所示:

gulp.task('serve', gulp.series('sass', function(cb) {
    // Your js task code here
    cb()
}))

读最新的,它会帮助你

我认为你很好,你希望手表(在发球任务范围内)继续运行。因此,服务任务永远不会完成,因此默认值也不会完成。请参阅gulp4的官方配方,因为他们在与sass watcher的服务任务中不使用虚拟回调函数。我认为你在这里使用它不会有任何收获。这可以通过将默认任务更改为gulp.series('serve','js')而看出,操作上没有任何差异。谢谢Mark,我现在将使用回调,并将研究配方以进一步开发我的gulpfile谢谢Kamil,这允许任务完成并继续观看和服务网站。