配置gulp任务以将文件移动到子文件夹

时间:2015-05-08 11:41:25

标签: gulp react-jsx

我需要从:

移动已编译的jsx-> js文件

./Scripts/lib/xyz/components(jsx从这里开始)

./Scripts/lib/xyz/components/build(。js应该在这里结束)

我当前的gulpfile是

var gulp = require('gulp');
var react = require('gulp-react');
var watch = require('gulp-watch');
var plumber = require('gulp-plumber');
var notify = require('gulp-notify');

var libPath = "./Scripts/lib";


gulp.task("default", function() {
  var errorHandler = function(err) {
    notify.onError({
      title: "Compile Error",
      message: "<%= error.fileName %> <%= error.message %>"
    })(err);
  };

  gulp.src(libPath+'/**/*.jsx')
    .pipe(plumber({errorHandler: errorHandler}))
    .pipe(watch(libPath+'/**/*.jsx',{base: libPath}))
    .pipe(react())
    .pipe(gulp.dest(libPath));
});

这个gulpfile有效,但它将js文件复制到同一个文件夹。我想将它们移动到/ build子文件夹。我只是不知道我需要哪个插件:(

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

看看gulp-rename

这样的事情应该有效:

gulp.src(libPath+'/**/*.jsx')
    .pipe(plumber({errorHandler: errorHandler}))
    .pipe(watch(libPath+'/**/*.jsx',{base: libPath}))
    .pipe(react())
    .pipe(rename(function (path) {
        path.dirname += "/build";
    }))
    .pipe(gulp.dest(libPath));