- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我收到如下错误:
Error: Invalid call to lazypipe().pipe(): argument is not a function.
Remember not to call stream creation functions directly! e.g.: pipe(foo), not pipe(foo()).
这对我来说完全有意义(特别是因为已经有一些相关的问题),但是我如何将参数传递给惰性管道?
function buildPipes(fileName) {
return lazypipe()
.pipe($.concat(fileName))
.pipe(gulp.dest(destFull))
.pipe($.rename(minFileName))
.pipe($.babel({
presets: ["es2015"]
}))
.pipe($.uglify({
compress: {
hoist_funs: false
}
}))
.pipe(gulp.dest(dest));
}
我的脚本的另一部分,使用管道:
var vendor = gulp.src(sources.vendor).pipe(buildPipes(fileName));
最佳答案
lazypipe
docs给出几个如何将参数传递给插件的示例。这是一个:
var jsTasks = jsHintTasks
.pipe(gulp.dest, 'build/js');
更一般化:对于任何返回 stream.Transform
的插件函数 foo
以下转换适用:
正常使用->惰性管道使用
.pipe(foo())
-> .pipe(foo)
.pipe(foo(param1))
-> .pipe(foo, param1)
.pipe(foo(param1, param2))
-> .pipe(foo, param1, param2)
就您而言:
function buildPipes(fileName) {
return lazypipe()
.pipe($.concat, fileName)
.pipe(gulp.dest, destFull)
.pipe($.rename, minFileName)
.pipe($.babel, {
presets: ["es2015"]
})
.pipe($.uglify, {
compress: {
hoist_funs: false
}
})
.pipe(gulp.dest, dest);
}
另请注意,lazypipe().pipe(foo)
不返回流。它返回一个返回流的函数,因此如果要将构造的惰性管道通过管道传输到另一个流,则需要调用该函数。这意味着而不是:
var vendor = gulp.src(sources.vendor).pipe(buildPipes(fileName));
你需要这样做:
var vendor = gulp.src(sources.vendor).pipe(buildPipes(fileName)());
(或者,您可以在 buildPipe()
函数本身中执行函数调用,如 this example 中所示)
关于javascript - Gulp/Lazypipe : Error: Invalid call to lazypipe(). pipe():参数不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41672126/
我收到如下错误: Error: Invalid call to lazypipe().pipe(): argument is not a function. Remember not to call
我正在从 Gulp 3 升级到 4,但我遇到了一个错误: The following tasks did not complete: build Did you forget to signal as
我是一名优秀的程序员,十分优秀!