在 gulp.series 中传递函数参数

5 javascript gulp browser-sync

我只是想知道是否可以像这样在 gulp.series 中传递函数参数gulp.series(scripts(arg), reload)而不获取AssertionError [ERR_ASSERTION]: Task never defined: [object Object].

\n\n

完整的目标代码如下:

\n\n
//required imports\nconst watch = () => {\n    const backendWatcher = gulp.watch(\'./*.js\');\n    backendWatcher.on(\'change\', (path,stats) => {\n        log(path,stats);\n        gulp.series(scripts(path), reload)//error occurs here(line 20)\n        log("passed :D");\n    });\n}\n\nfunction scripts(file) {\n    if(!file) return false, log("no file found");\n    return gulp.src(`./${file}`)\n        .pipe(browserify())\n        .pipe(uglify())\n        .pipe(gulp.dest(\'./dist\'));\n}\n\nfunction reload(done) {\n    browserSync.reload();\n    done();\n}\n\nfunction serve(done) {\n    browserSync.init({\n        server: {\n            baseDir: \'./\',\n            index: "/index.html"\n        }\n    });\n    done();\n}\n\nconst dev = gulp.series(serve, watch);\nexports.dev = dev;\nexports.scripts = scripts;\nexports.reload = reload;\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误:

\n\n
AssertionError [ERR_ASSERTION]: Task never defined: [object Object]\nat FSWatcher.<anonymous> (gulpfile.js:20:14)\n
Run Code Online (Sandbox Code Playgroud)\n\n

文件结构:

\n\n
Project/\ndist/\n  \xe2\x94\xa3 compiled.js\n  \xe2\x94\x97 wow.min.js\n\xe2\x94\xa3 gulpfile.js\n\xe2\x94\xa3 index.html\n\xe2\x94\xa3 package.json\n\xe2\x94\xa3 app.js\n
Run Code Online (Sandbox Code Playgroud)\n