奇怪的gulp语法

时间:2016-03-09 14:31:31

标签: javascript gulp

我正在使用Gulp v3.9.1,并且遇到了一个使用我不熟悉的语法的gulp文件。没有具有此语法的任务将运行。

gulp.task ('serve', [ 'js.lint', 'test' ], () => {
        onError = eatError;

        browserSync.init ({
            ui: false,
            files: [
                'index2.html',
                'tpl/**/*',
                opts.srcDir + '/assets/img/**/*',
                opts.srcDir + '/assets/less/**/*',
                opts.srcDir + '/app/**/*',
                opts.testDir + '/**/*',
                'src/main/coverage/**/*'
            ],
            proxy: {
                target: "localhost:8080",
                proxyOptions: {
                    xfwd: true
                }
            }
        });

        gulp.watch ([ 'gulpfile.js', opts.srcDir + '/app/**/*', opts.testDir + '/**/*' ], [ 'js.lint', 'test' ]);
    });

特别是,我指的是第一行的() =>。这就是gulp抱怨的。该语法看起来与我找到的CoffeScript gulpfile有点类似,但我不确定它是什么。使用这个gulpfile的项目有很多软件包,我现在正在筛选它们,看看它们是否与这种语法有关。我想知道() =>代表什么,以及如何使用这种语法来运行任务。

1 个答案:

答案 0 :(得分:2)

这是匿名函数的ES2015语法,外部作用域this作为上下文。

要使该语法与gulp一起使用,请确保文件名为gulpfile.babel.js,而不仅仅是gulpfile.js。最新版本的gulp知道在运行它之前查找该文件名并在运行中进行转换,只要你安装了Babel。

相关问题