2014-10-28 5 views
9

Я пытаюсь выполнить что-то, используя gulp-shell. Мой gulfile.js содержит следующее содержание:Gulp-Shell не выполняет никаких команд

var gulp = require('gulp'), 
    shell = require('gulp-shell'); 

gulp.task('test', function() { 
    shell(['echo test']); 
}); 

Тогда я бегу он вызова gulp test. Это результат, который я получаю:

Using gulpfile ~/gulpfile.js 
Starting 'test'... 
Finished 'test' after 2.62 ms 

У меня нет выхода для моего эхо-вызова.

Я использую Ubuntu 14 VM, к которому я подключился, используя Putty.

Кто-нибудь понял, что случилось?

ответ

18

Это потому, что это нехороший способ использовать глотку.

Попробуйте это, как показано на странице gulp-shell README.

var gulp = require('gulp'), 
    shell = require('gulp-shell'); 

gulp.task('test', shell.task([ 
    'echo test' 
])); 
+1

Ну .. это было легко, и я беспокоил мою голову с ним. Но это выглядит довольно несовместимо с остальными определениями задач. Можете ли вы понять, в чем большая разница? :-) – NewGulpUserxx

+1

И есть ли способ, чтобы он не отделял цвета от выхода? – NewGulpUserxx

+0

Так оно и работает. Я думаю, что это имеет какое-то отношение к данным потока gulp stream. Я не думаю, что есть способ показать цвета, возможно, попробуйте поместить свои команды во внешний файл сценария и запустить этот файл с помощью gulp-shell, просто идея. – tiledcode

4

Для записи, если вы хотите, чтобы трубы глотка скорлупа, per specified in the doc:

gulp.task('myGulpTask', [], function() { 
    return gulp.src('gulpfile.js', {read: false}) 
    .pipe(shell('echo "This works too"')); 
}); 
+0

Это сейчас считается анти-шаблоном, не делайте этого - https://github.com/sun-zheng-an/gulp-shell – davidbenjamin998

Смежные вопросы