2016-03-29 163 views
0

我有幾個關於我的gulpfile.js設置的問題。吞嚥不正常

這裏是我一飲而盡文件設置:

var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var uglify = require('gulp-uglify'); 
var concat = require('gulp-concat'); 

var preserveFirstComment = function() { 
    var set = false; 

    return function() { 
     if (set) return false; 
      set = true; 
      return true; 
    }; 
}; 

    gulp.task('styles', function() { 
    return gulp.src('./sass/**/*.scss') 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(gulp.dest('./css/')); 
}); 

    gulp.task('styles:watch', function() { 
    gulp.watch('sass/**/*.scss',['styles']); 
}); 

    gulp.task('uglify', function() { 
     gulp.src('lib/marked.js') 
      .pipe(uglify({preserveComments: preserveFirstComment()})) 
      .pipe(concat('marked.min.js')) 
      .pipe(gulp.dest('.')); 
    }); 

gulp.task('default', ['uglify']); 

有一次,我嘗試運行我的一飲而盡項目所有它下面運行這些5條線,然後停止並回到命令行提示符。我不明白爲什麼會發生這種情況。我是使用gulp的初學者,因爲這只是我用來設置項目的教程中的一個基本設置。

C:\Users\Gemini\Documents\workspace\ca_>gulp 
[20:28:16] Using gulpfile ~\Documents\workspace\ca_\Gulpfile.js 
[20:28:16] Starting 'uglify'... 
[20:28:16] Finished 'uglify' after 21 ms 
[20:28:16] Starting 'default'... 
[20:28:16] Finished 'default' after 13 μs 

C:\Users\Gemini\Documents\workspace\ca_> 

鏈接:Getting Started with Gulp

+2

做**不**發佈您的代碼作爲截圖。將代碼複製並粘貼到您的問題中並[使用適當的格式](http://stackoverflow.com/editing-help#code)。 –

+0

您可以請輸出到命令行,而不是圖像 –

+0

我已更新我的帖子...請參閱我的gulpfile.js輸出和代碼 – Crispian

回答

2

當你只有在命令行中輸入gulp咕嘟咕嘟執行default的任務,你的情況依賴於uglify任務,而不是styles:watch。這就是爲什麼在Gulp的輸出中你只能看到uglifydefault

如果您要執行的任務styles:watch你要告訴咕嘟咕嘟明確如此:

C:\Users\Gemini\Documents\workspace\ca_> gulp styles:watch 
0

爲了增加上述斯文的回答,您可以添加許多咕嘟咕嘟的任務,開始觀看一個gulp watch命令。

gulp.task('watch', function() { 
    gulp.watch('./css/', ['styles']); 
    gulp.watch('.', ['uglify']); 
    // more watch things here 
}); 
0

運行一飲而盡任務,使用的命令是gulp <TASK NAME>,當我們只運行gulp,默認運行任務。如果在未定義默認任務的情況下,則會顯示提及Task 'default' is not in your gulpfile的錯誤。

在這種情況下,gulp運行默認任務'uglify',這就是爲什麼你無法觀察SASS中的變化的原因。要觀看SASS中的更改,可以將默認任務修改爲:

gulp.task('default', ['uglify', 'styles:watch']); 

這會幫助您。