2013-04-28 30 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

相关问题