2016-02-27 5 views
2

J'essaie de copier le contenu d'un fichier à un autre. J'essaye le code suivant mais il me jette une erreur.Gulp Copier le contenu d'un fichier dans un autre fichier

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

Erreur: EEXIST: fichier existe déjà, mkdir 'C: \ Users \ krish \ Documents \ test \ app \ core \' core.config.js en cas d'erreur (natif)

est-il tout autre processus que je pourrais utiliser pour copier du contenu?

Répondre

6

gulp.dest attend un répertoire comme argument. Tous les fichiers sont écrits dans ce répertoire de destination. Si le répertoire n'existe pas encore, gulp essaie de le créer.

Dans votre cas gulp.dest essaie de créer un répertoire core/core.config.js, mais échoue car un fichier ordinaire portant le même nom existe déjà.

Si votre objectif est d'avoir le fichier régulier à core/core.config.js être remplacé par le contenu de core/core.config.local.tpl.js sur chaque build, vous pouvez le faire comme ceci:

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

Merci. Fonctionne comme un charme. :) – Krishh

1

Je pense que vous ne manquiez les guillemets que lorsque vous entrez la question ici, n'est-ce pas?

gulp.dest() s'attend à ce qu'un dossier copie tous les fichiers dans le flux, donc vous ne pouvez pas utiliser un seul nom de fichier ici (comme l'erreur dit: "mkdir failed"). Voir: https://github.com/gulpjs/gulp/blob/master/docs/API.md#gulpdestpath-options

Lorsque vous faites votre gulp.src() vous pouvez définir un chemin de base pour construire le chemin relatif à partir et ainsi gulp peut copier votre fichier unique dans le dossier de sortie donné. Voir: https://github.com/gulpjs/gulp/blob/master/docs/API.md#optionsbase

Comme vous voulez renommer le fichier, vous avez besoin quelque chose comme gulp-Rename: https://www.npmjs.com/package/gulp-rename