javascript - How do I write a Gulp task that simply calls a function - Stack Overflow

I'm striving to create a Gulp task that does nothing except calling a custom function. No, I have,

I'm striving to create a Gulp task that does nothing except calling a custom function. No, I have, no source files, and no, I have no destination files. I just want to call a custom function in a standalone task, so I can have other tasks depending on it.

For the love of me, I've checked Google and SO and I couldn't find an example. The closest I've e with is this

var through = require('through2');

gulp.task(
    'my-custom-task',
    function ()
    {
        return through.obj(
            function write(chunk, enc, callback) {
                // here is where the custom function is called
                myCustomFunction('foo', 'bar');
                callback(null, chunk);
            }
        );
    }
);

Now this does call myCustomFunction, but when I run the task with gulp my-custom-task, I can see the task starting but not finishing.

[10:55:37] Starting 'clean:tmp'...
[10:55:37] Finished 'clean:tmp' after 46 ms
[10:55:37] Starting 'my-custom-task'...

How should I write my task correctly?

I'm striving to create a Gulp task that does nothing except calling a custom function. No, I have, no source files, and no, I have no destination files. I just want to call a custom function in a standalone task, so I can have other tasks depending on it.

For the love of me, I've checked Google and SO and I couldn't find an example. The closest I've e with is this

var through = require('through2');

gulp.task(
    'my-custom-task',
    function ()
    {
        return through.obj(
            function write(chunk, enc, callback) {
                // here is where the custom function is called
                myCustomFunction('foo', 'bar');
                callback(null, chunk);
            }
        );
    }
);

Now this does call myCustomFunction, but when I run the task with gulp my-custom-task, I can see the task starting but not finishing.

[10:55:37] Starting 'clean:tmp'...
[10:55:37] Finished 'clean:tmp' after 46 ms
[10:55:37] Starting 'my-custom-task'...

How should I write my task correctly?

Share Improve this question asked Oct 30, 2016 at 17:19 J. DoeJ. Doe 1011 silver badge5 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

If you just want a task that runs some function, then just do that:

gulp.task('my-custom-task', function () {
    myCustomFunction('foo', 'bar');
});

If your function does something asynchronously, it should call a callback at the end, so gulp is able to know when it’s done:

gulp.task('my-custom-task', function (callback) {
    myCustomFunction('foo', 'bar', callback);
});

As for why your solution does not work, using through is a way to work with streams. You can use it to create handlers which you can .pipe() into gulp streams. Since you have nothing actually using gulp streams, there is no need for you to create a stream handler and/or use through here.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742285544a4415254.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信