Gulp:从src目录到构建目录的构建过程

时间:2016-01-02 03:03:45

标签: javascript gulp build-process

我正在使用gulpjs来设置构建过程。我的src /文件夹有很多文件和文件夹(主要是PHP但有些图像文件和CSS)。我的build /目录当前是空的。

我创建了一个优化src / images中图像文件的任务,并将它们放在构建/图像中。

// gulpfile.js
var gulp = require('gulp');
var changed = require('gulp-changed');
var imagemin = require('gulp-imagemin');

gulp.task('images', function() {
    gulp.src('src/images/**/*')
        .pipe(changed('build/images'))
        .pipe(imagemin())
        .pipe(gulp.dest('build/images'));
});
gulp.task('default', ['images']);

正如您所看到的,我的构建过程不完整,因为我的构建/目录现在只包含我的优化图像。

/build
    images/

完成完整构建的标准方法是什么,这样我的构建/目录就完成了我的src /目录中的所有文件?请原谅noob问题,我刚刚开始学习构建过程。

我的猜测是,我在gulp中设置了一个监视任务,它可以复制从src /到build /的所有内容/如果检测到更改,但是如果有一种我不知道的标准方法,我会很感激。

提前致谢。

2 个答案:

答案 0 :(得分:0)

是的,您经常需要创建一个手动复制其他进程无法创建的文件的任务。

也许move-templates任务只是将*.php复制到/build

答案 1 :(得分:0)

// gulpfile.js
var gulp = require('gulp');
var changed = require('gulp-changed');
var imagemin = require('gulp-imagemin');

gulp.task('images', function() {
    gulp.src('src/images/**/*')
        .pipe(changed('dist/images'))
        .pipe(imagemin())
        .pipe(gulp.dest('dist/images'));

gulp.task('others', function() {
    gulp.src(['src/**/*', '!src/images/**/*']) // "!" denotes to exclude images folder
        .pipe(gulp.dest('dist'));
});

gulp.task('default', ['others', 'images']);