2016-02-27 94 views
2

我试图将内容从一个文件复制到另一个文件。我正在尝试下面的代码,但它抛出一个错误。Gulp将内容从一个文件复制到另一个文件

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

错误:EEXIST:文件已经存在,MKDIR 'C:\用户\ krish \文档\测试\程序\核心\ core.config.js' 在错误 (原生)

有我可以用来复制内容的任何其他进程?

回答

6

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')); 
}); 
+0

感谢。奇迹般有效。 :) – Krishh

1

我想你只是在输入这个问题时错过了引号,对吧?

gulp.dest()需要一个文件夹来复制流中的所有文件,因此您不能在此处使用单个文件名(正如错误所示:“mkdir failed”)。请参阅: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

正如你也想重命名的文件,你需要像一口,重命名:https://www.npmjs.com/package/gulp-rename

相关问题