2016-02-27 70 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

相關問題