Я пытаюсь скопировать все каталоги как часть генератора Йомен. У меня есть несколько функций, которые называют this.fs.copy, и он работает как ожидалось (по большей части), кроме . Шрифты и assetsdev. Я не могу понять, почему задача assetsdev копирует исходную папку в каталог шрифтов, а не в корень, который я указал. Вот мои три функции, которые оптовой скопировать каталог:Справочник копий Yeoman не работает
this.props.dotDest = './';
this.props.srcPath = './assets-dev';
this.props.destPath = './public/assets';
dotfiles: function() { // Works as expected. Copies to the root.
this.fs.copy(
this.templatePath('dot_files/.*'),
this.destinationRoot(this.props.dotDest)
);
},
fonts: function() { // Works as expected. Copies to the bootstrap directory.
var done = this.async();
this.log(chalk.magenta.bold('Copying /fonts'));
this.fs.copy(
this.templatePath('fonts'),
this.destinationRoot(this.props.destPath + '/fonts/bootstrap')
)
done();
},
assetsdev: function() { // Does NOT work. Copies to the Bootstrap directory rather than the root.
var done = this.async();
this.log(chalk.magenta.bold('Copy assets-dev'));
this.fs.copy(
this.templatePath('assets-dev'),
this.destinationRoot(this.props.srcPath)
);
done();
},
Я ожидаю, что в результате структура папок будет
-assets-dev
-public
-assets
-fonts
-bootstrap
-fontfile
-fontfile
-fontfile
Но вместо этого он генерируя ...
-public
-assets
-fonts
-bootstrap
-assets-dev
-fontfile
-fontfile
-fontfile
... и я не могу понять, почему. Я даже попытался использовать метод async(), если он работал асинхронно и оказался в этом каталоге, когда запускается функция assetsdev.
Кто-нибудь знает, почему assetsdev копирует в нужную папку? Надеюсь, я достаточно четко объяснил. Заранее спасибо!
'destinationRoot()' назначает корень создаваемого проекта. Он не создает путь, как вы ожидали. –
Ах, это имеет смысл. Поэтому, когда я запускал его в предыдущей задаче, он по существу устанавливал корневую папку на этот путь. Спасибо за разъяснения! – 5k313t0r