我正在构建一个生成器,其中部分包括来自另一个使用exec
. 根据用户输入,我需要移动或删除此脚手架的某些部分。
现在我用节点的fs.child_process.spawn
and来做shelljs
,但是看到 Yo 生成器有mkdir
, write
, template
, and copy
,我想知道是否有一个 Yo 方法来移动或删除文件和目录。
我正在构建一个生成器,其中部分包括来自另一个使用exec
. 根据用户输入,我需要移动或删除此脚手架的某些部分。
现在我用节点的fs.child_process.spawn
and来做shelljs
,但是看到 Yo 生成器有mkdir
, write
, template
, and copy
,我想知道是否有一个 Yo 方法来移动或删除文件和目录。
我只是像这样使用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
。不确定是否有内置功能,但到目前为止,这个功能对我来说一直很好。
Yeoman 现在通过fs
API 支持这一点,这是一个内存文件系统实现。
this.fs.move('source/file', 'dest/file');
this.fs.copy('source', 'dest');