2013-04-28 3 views
10

私は、部分的にexecで作成された別のプロジェクトの足場を含む発電機を建設しています。ユーザーの入力に応じて、この足場の一部を移動または削除する必要があります。Yeoman Generatorでファイルを移動または削除する方法はありますか?

は、今私は、ノードのfs.child_process.spawnshelljsでそれをやってますが、ヨ・ジェネレータは、移動したり、ファイルやディレクトリを削除するヨ方法があるかどうmkdirwritetemplate、およびcopyは、私は思ったんだけど持っていると見ています。

答えて

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

あまりにも良い方法です。それをやっているYeomanのapiの方法があるまで、これは未回答のままにしておきます。 – RobW

+2

RC 1.0がリリースされて以来、私はなぜそれが文書化されていないのだろうかと思っています。 – javiervd

1

Yeomanはメモリファイルシステムの実装であるfs APIでこれをサポートします。

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

File System Docs

1

まだ(私の作品)文書化され、これはdeleteメソッドではありません。

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

リンク:Yeoman issue 1505

関連する問題