图像未输出到目的地

时间:2018-01-01 20:03:21

标签: javascript node.js reactjs gulp

新的吞咽。我的代码有什么问题吗?图像应输出到: assets/images/但他们没有被感动。

我的代码如下所示:

const FILES_IMAGES = ['./src/components/**/img/*.{svg,jpg,png,gif,jpg}'];
const ASSETS_PATH = '../server/assets/';
const ASSETS_IMG_PATH = ASSETS_PATH + 'images/';

/*
 * Images
 * --
 * Move and Compress images
 */
gulp.task('images', function () {
    gulp.src(FILES_IMAGES)
        .pipe(imagemin())
        .pipe(flatten({ includeParents: 1 }))
        .pipe(gulp.dest(ASSETS_IMG_PATH))
    ;
});

...more code

gulp.task('default', ['watch', 'css', 'css.min', 'images']);

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

在这里尝试一些事情:

  1. 尝试从任务返回,告诉任务完成时任务系统,因为gulp.src是异步的,更多关于此SO answer

    gulp.task('images', function () {
        return gulp.src(FILES_IMAGES)
            .pipe(imagemin())
            .pipe(flatten({ includeParents: 1 }))
            .pipe(gulp.dest(ASSETS_IMG_PATH));
    });
    
  2. 尝试将string而不是array发送到gulp.src,详情请SO answer

  3. const FILES_IMAGES = './src/components/**/img/*.{svg,jpg,png,gif,jpg}';

    1. 如果将array发送到gulp.src(就像现在一样),请尝试在base中指定gulp.src目录,此SO answer也可能有所帮助:< / LI>

      gulp.src(FILES_IMAGES, {base: "."})

      我猜第一点或第一点和第二点的组合可以解决问题。