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

Gulp Copy content from one file to another file

本文关键字:文件 一个 复制 另一个      更新时间:2023-09-26

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

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' 错误(本机)

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

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

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

如果您的目标是在每次构建时core/core.config.jscore/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'));
});
我认为

您只是在这里输入问题时才缺少引号,对吧?

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