用yeoman生成器下载zip

我正在创build我的第一个Yeoman发电机。 我想下载一个包含CMS的外部zip文件,并将其解压缩到根目录下。 根据这个线程,这应该是可能的。 这个还没有实施吗? 如果不是,我需要复制到我的发生器?

我运行了发电机发电机,并得到了我的基本发电机。 这是我的代码到目前为止。

Generator.prototype.getVersion = function getVersion() { var cb = this.async() , self = this this.log.writeln('Downloading Umbraco version 6.1.6') this.download('http://our.umbraco.org/ReleaseDownload?id=92348', '.'); } 

这会产生一个错误告诉我,它“无法find模块”下载“”。 什么是正确的语法?

我为你做了一些调查。

有两种方法与yeoman下载东西…

 /** * Download a string or an array of files to a given destination. * * @param {String|Array} url * @param {String} destination * @param {Function} cb */ this.fetch(url, destination, cb) /** * Fetch a string or an array of archives and extract it/them to a given * destination. * * @param {String|Array} archive * @param {String} destination * @param {Function} cb */ this.extract(archive, destination, cb) 

如果出现问题,callback会传递错误。

还有一种从Github下载软件包的方法。

 /** * Remotely fetch a package from github (or an archive), store this into a _cache * folder, and provide a "remote" object as a facade API to ourself (part of * generator API, copy, template, directory). It's possible to remove local cache, * and force a new remote fetch of the package. * * ### Examples: * * this.remote('user', 'repo', function(err, remote) { * remote.copy('.', 'vendors/user-repo'); * }); * * this.remote('user', 'repo', 'branch', function(err, remote) { * remote.copy('.', 'vendors/user-repo'); * }); * * this.remote('http://foo.com/bar.zip', function(err, remote) { * remote.copy('.', 'vendors/user-repo'); * }); * * When fetching from Github * @param {String} username * @param {String} repo * @param {String} branch * @param {Function} cb * @param {Boolean} refresh * * @also * When fetching an archive * @param {String} url * @param {Function} cb * @param {Boolean} refresh */