Как перемещать или удалять файлы в генераторе Yeoman?
Я создаю генератор, который частично включает в себя строительные леса из другого проекта, созданного с помощью exec
. В зависимости от ввода пользователя мне нужно перемещать или удалять части этих лесов.
Сейчас я делаю это с помощью node fs.child_process.spawn
и shelljs
, но, видя, что генератор Yo имеет mkdir
, write
, template
и copy
, мне интересно если есть Yo способ перемещения или удаления файлов и каталогов.
Ответы
Ответ 1
Я просто использую 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
. Не уверен, есть ли встроенная функция для этого, но это работает для меня до сих пор.
Ответ 2
Теперь Yeoman поддерживает это через API fs
, который является реализацией в файловой системе памяти.
this.fs.move('source/file', 'dest/file');
this.fs.copy('source', 'dest');
Документы файловой системы
Ответ 3
Все еще не задокументировано, но это метод удаления (работает для меня):
this.fs.delete('file/to/delete');
Ссылка: Йоменский номер 1505