2013-04-28 66 views
10

我正在建造一臺發電機,部分包括由exec創建的另一個項目的腳手架。根據用戶的輸入,我需要移動或刪除這個腳手架的一部分。如何移動或刪除Yeoman生成器中的文件?

現在,我與節點的fs.child_process.spawnshelljs這樣做,但看到呦發生器mkdirwritetemplatecopy,我不知道是否有一個喲移動或刪除的文件和目錄的方式。

回答

5

我只是用rimraf這樣的:

MyGenerator.prototype.removeDir = function removeDir() { 
    var cb = this.async(), 
     self = this; 

    rimraf('path/to/dir', function() { 
     self.log.info('Removing dir'); 
     cb(); 
    }); 
}; 

記住在你的package.json文件中添加rimraf作爲一個依賴。不知道是否有一個內置的功能,但迄今爲止,這個對我來說工作得很好。

+0

這是一個好辦法了。 Upvoted你,但讓這個問題仍然沒有答案,直到有一個Yeoman api的方式來做到這一點。 – RobW 2013-07-01 03:51:25

+2

應該有一個內置的函數,我想知道爲什麼它沒有記錄,雖然特別是RC 1.0已經出來。 – javiervd 2013-07-01 21:01:15

1

Yeoman現在通過fs API支持這個API,這是一個內存文件系統實現。

this.fs.move('source/file', 'dest/file'); this.fs.copy('source', 'dest');

File System Docs

1

仍然沒有記載,但是這是刪除方法(對我的作品):

this.fs.delete('file/to/delete'); 

鏈接:Yeoman issue 1505

相關問題