#Gulp#如何将文件输出到依赖于输入文件路径的路径?

时间:2014-04-03 02:07:52

标签: gulp

说我有这些文件夹:

./
|
folder1/
  |---file1.js
  |---file2.js
folder2/
  |---file1.js
  |---file2.js

我想用gulp.src('./* / .js')运行一个任务,我想让它们输出如下:

./
|
folder1/
  |---file1.js
  |---file2.js
  |---file1.min.js
  |---file2.min.js
folder2/
  |---file1.js
  |---file2.js
  |---file1.min.js
  |---file2.min.js

1 个答案:

答案 0 :(得分:3)

这真的是你可以通过阅读那里已有的一些gulp文章中的任何一个来解决的问题。 Google for gulp tutorial并开始阅读文章。

默认情况下,输入文件的相对源路径将保存到gulp中的输出文件中。你不必做任何特别的事情。如果你想要类似于你所拥有的东西,你需要使用JS缩小器,例如the gulp-uglify pluginthe gulp-rename plugin

var gulp = require('gulp'),
    uglify = require('gulp-uglify'),
    rename = require('gulp-rename');

gulp.task('scripts', function() {
    return gulp.src('src/**/*.js')
        .pipe(uglify())
        .pipe(rename({extname: '.min.js'}))
        .pipe(gulp.dest('dest/'));
});

相对路径基于字符串中的第一个glob,在上面的示例中,它是**,因此相对路径将是src/之后的任何文件夹。这意味着src/foo/bar.js的文件将保存为dest/foo/bar.min.js,因为相对路径为foo/