我正在创建我的第一个Yeoman Generator。我想下载一个包含CMS的外部zip并将其解压缩到根目录中。根据{{3}},这应该是可能的。这还没有实现吗?如果没有,我需要将什么内容复制到我的发电机上?
我已经运行了发电机发电机并启动了我的基本发电机。到目前为止,这是我的代码。
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', '.');
}
这会产生错误,告诉我“无法找到模块'下载'”。什么是正确的语法?
答案 0 :(得分:6)
我为你做了一点调查。
There are two methods to download something with 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)
如果出现问题,回调将传递错误。
There's also a method to download packages from 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
*/