我正在构建一个生成器,该生成器部分包含来自使用exec
创建的另一个项目的脚手架。根据用户输入,我需要移动或删除此脚手架的部分内容。
现在我正在使用节点fs.child_process.spawn
和shelljs
,但看到Yo生成器有mkdir
,write
,template
和copy
,我想知道是否有移动或删除文件和目录的方法。
答案 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');
答案 2 :(得分:2)