将参数发送到 gulp 任务
Send arguments to gulp task
Whosebug 上还有关于此主题的其他问题,但不是我所希望的问题。
这是我的gulpfile.js
的简化版本
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('css', function() {
gulp.src('site/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('assets/css'))
});
gulp.task('watch', function() {
gulp.watch('site/scss/**/*.scss', ['css']);
});
我能成功:
gulp watch
现在我希望能够在我的终端命令行中做这样的事情:
gulp watch my-domain-name
或
gulp watch my-other-domain
我的 gulpfile 在我看来是这样的:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('css', function(name) {
gulp.src('site/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('assets/css'))
});
gulp.task('watch', function(name) {
gulp.watch('site/scss/**/*.scss', ['css', name]);
});
我尝试将 name
作为监视任务的变量发送。在我的情况下,它将是 my-domain-name
或 my-other-domain
,具体取决于我在终端中写入的内容。
如何将参数从终端发送到 watch 任务,然后再发送到 css 任务?
有许多来源可以将参数从命令行传递到 gulp。参见:
https://www.sitepoint.com/pass-parameters-gulp-tasks/
https://github.com/gulpjs/gulp/blob/master/docs/recipes/pass-arguments-from-cli.md
官方配方使用
minimist 一个非常受欢迎的包。
因此,使用这些方法,您不会将命令行参数直接传递给监视任务,而是传递给任何任务都可以访问的对象。
看起来 gulp-param 可能会做你想做的,直接将命令行参数注入每个任务的回调函数。
Whosebug 上还有关于此主题的其他问题,但不是我所希望的问题。
这是我的gulpfile.js
的简化版本var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('css', function() {
gulp.src('site/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('assets/css'))
});
gulp.task('watch', function() {
gulp.watch('site/scss/**/*.scss', ['css']);
});
我能成功:
gulp watch
现在我希望能够在我的终端命令行中做这样的事情:
gulp watch my-domain-name
或
gulp watch my-other-domain
我的 gulpfile 在我看来是这样的:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('css', function(name) {
gulp.src('site/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('assets/css'))
});
gulp.task('watch', function(name) {
gulp.watch('site/scss/**/*.scss', ['css', name]);
});
我尝试将 name
作为监视任务的变量发送。在我的情况下,它将是 my-domain-name
或 my-other-domain
,具体取决于我在终端中写入的内容。
如何将参数从终端发送到 watch 任务,然后再发送到 css 任务?
有许多来源可以将参数从命令行传递到 gulp。参见:
https://www.sitepoint.com/pass-parameters-gulp-tasks/
https://github.com/gulpjs/gulp/blob/master/docs/recipes/pass-arguments-from-cli.md
官方配方使用 minimist 一个非常受欢迎的包。
因此,使用这些方法,您不会将命令行参数直接传递给监视任务,而是传递给任何任务都可以访问的对象。
看起来 gulp-param 可能会做你想做的,直接将命令行参数注入每个任务的回调函数。