Gulp:将输出文件写入srcpath的子文件夹相对位置
我试图找出如何编写一个使用PostCSS的Gulp任务,以便它在原始path的postcss
子文件夹中输出结果文件。
想象一下你有这些文件:
/app/styles/index.css /app/elements/pages/home.css /app/elements/pages/profile.css
你想要Gulp输出postCSS过程:
/app/styles/postcss/index.css /app/elements/pages/postcss/home.css /app/elements/pages/potcss/profile.css
这是我目前的configuration,但不起作用:
gulp.task('css', function () { return gulp.src([ 'app/styles/index.css', 'app/elements/**/*.css' ], {base: './'}) .pipe(gulp.postcss([require('cssnext')()])) .pipe(gulp.dest('postcss')) });
事实上,通过configuration文件,Gulp会将所有文件及其相关子目录输出到项目根目录下的一个postcss
文件夹中。
任何想法如何解决它? 谢谢!!
我find了一个可行的解决scheme,使用gulp-rename 。 这是更新的任务configuration:
gulp.task('css', function () { return gulp.src([ 'app/styles/index.css', 'app/elements/**/*.css' ], {base: './'}) .pipe($.postcss([require('cssnext')()])) .pipe($.rename(function (path) { path.dirname += "/postcss"; })) .pipe(gulp.dest('./')) });
这完美的作品。 如果有人知道如何使用additinal external plugins,只需通过Gulp基本API,就可以发布。 谢谢! 干杯