我该如何移动或删除Yeoman Generator中的文件?

时间:2013-04-28 02:25:14

标签: yeoman yeoman-generator

我正在构建一个生成器,该生成器部分包含来自使用exec创建的另一个项目的脚手架。根据用户输入,我需要移动或删除此脚手架的部分内容。

现在我正在使用节点fs.child_process.spawnshelljs,但看到Yo生成器有mkdirwritetemplatecopy,我想知道是否有移动或删除文件和目录的方法。

3 个答案:

答案 0 :(得分:5)

我只是像这样使用rimraf

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

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

请记住在rimraf文件中添加package.json作为依赖项。不确定是否有内置功能,但到目前为止这个功能对我来说还不错。

答案 1 :(得分:2)

Yeoman现在通过fs API支持这一点,这是一个内存文件系统实现。

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

File System Docs

答案 2 :(得分:2)

仍未记录,但这是删除方法(适用于我):

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

链接:Yeoman issue 1505