我试图学习Yeoman,但发现严重缺乏官方文档。我发现remote()
函数似乎可以下载GIT存储库,但无论我做什么,我都可以在不丢失错误的情况下使其工作。
以下是我所拥有的:
this.remote('powerbuoy', 'SleekWP', 'master', function (err, remote) {
if (err) {
this.log(err);
return err;
}
remote.copy('.', this.destinationPath('wp-content/themes/sleek/'));
}.bind(this));
我希望在这里发生的是https://github.com/powerbuoy/SleekWP/回购下载并移至wp-content / themes / sleek /。相反,我得到的是:
fs.js:603
var r = binding.read(fd, buffer, offset, length, position);
^
Error: EISDIR: illegal operation on a directory, read
是否有更好的文档或教程在某处解释所有这些基础知识?我很想知道如何在不将每个副本打印到控制台的情况下复制文件。这一切似乎都很基本,但http://yeoman.io/authoring/非常稀疏。
答案 0 :(得分:2)
好的,显然解决方案是使用remote.bulkDirectory()
代替remote.copy()
。
编辑:但是,阅读"文档" (几乎不能称之为)它说"你永远不应该使用这种方法,除非没有其他解决方案。" (http://yeoman.io/generator/actions_actions.html)
因此,如果有人知道这样做的正确方法,我很乐意知道。
我切换到fs-extra软件包并使用cacheRoot()
和destinationRoot()
来复制目录:
fs.copy(this.cacheRoot() + '/username/Project/branch/', this.destinationPath('destination/path/')