Gulp将内容从一个文件复制到另一个文件

时间:2016-02-27 14:43:37

标签: javascript gulp

我正在尝试将内容从一个文件复制到另一个文件。我正在尝试以下代码,但它给我一个错误。

gulp
    .src('core/core.config.local.tpl.js')
    .pipe(gulp.dest(core/core.config.js));

错误:EEXIST:文件已存在,mkdir' C:\ Users \ krish \ Documents \ test \ app \ core \ core.config.js'     在错误(本机)

我可以使用其他任何过程来复制内容吗?

2 个答案:

答案 0 :(得分:8)

gulp.dest期望一个目录作为参数。所有文件都写入此目标目录。如果该目录尚不存在,gulp会尝试创建它。

在您的情况下,gulp.dest尝试创建目录core/core.config.js,但由于已存在具有相同名称的常规文件而失败。

如果您的目标是在core/core.config.js上使用core/core.config.local.tpl.js的内容覆盖每个版本的var gulp = require('gulp'); var rename = require('gulp-rename'); gulp.task('default', function() { gulp.src('core/core.config.local.tpl.js') .pipe(rename({ basename: 'core.config'})) .pipe(gulp.dest('core')); }); 内容,您可以这样做:

Task

答案 1 :(得分:1)

我认为只有在输入问题时你才会错过引号,对吧?

gulp.dest()期望一个文件夹复制流中的所有文件,因此您不能在此处使用单个文件名(如错误所示:" mkdir失败")。请参阅:https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpdestpath-options

执行gulp.src()时,您可以设置基本路径来构建相对路径,因此gulp可以将您的单个文件复制到给定的输出文件夹。请参阅:https://github.com/gulpjs/gulp/blob/master/docs/API.md#optionsbase

由于您还想重命名该文件,您需要gulp-rename之类的内容:https://www.npmjs.com/package/gulp-rename