使用Gulp将一个文件的内容复制到另一个文件

4
我正在尝试将一个文件的内容复制到另一个文件中。 我正在尝试以下代码,但出现错误。
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个回答

8

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

在您的情况下,gulp.dest尝试创建一个名为core / core.config.js的目录,但由于已经存在同名的常规文件,因此失败了。

如果您的目标是在每次构建时使用core / core.config.local.tpl.js的内容覆盖core / core.config.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'));
});

谢谢。运行得很好。 :) - 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

由于您还想重命名文件,因此需要类似gulp-rename的东西:https://www.npmjs.com/package/gulp-rename


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接