我正在使用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的项目有很多软件包,我现在正在筛选它们,看看它们是否与这种语法有关。我想知道() =>
代表什么,以及如何使用这种语法来运行任务。
答案 0 :(得分:2)
这是匿名函数的ES2015语法,外部作用域this
作为上下文。
要使该语法与gulp一起使用,请确保文件名为gulpfile.babel.js
,而不仅仅是gulpfile.js
。最新版本的gulp知道在运行它之前查找该文件名并在运行中进行转换,只要你安装了Babel。