11

我正在构建一个生成器,其中部分包括来自另一个使用exec. 根据用户输入,我需要移动或删除此脚手架的某些部分。

现在我用节点的fs.child_process.spawnand来做shelljs,但是看到 Yo 生成器有mkdir, write, template, and copy,我想知道是否有一个 Yo 方法来移动或删除文件和目录。

4

3 回答 3

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。不确定是否有内置功能,但到目前为止,这个功能对我来说一直很好。

于 2013-06-09T14:49:30.007 回答
2

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

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

文件系统文档

于 2015-10-14T07:32:34.157 回答
2

仍然没有记录,但这是删除方法(对我有用):

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

链接:约曼问题 1505

于 2015-11-16T16:42:32.413 回答