我正在创建我的第一个 Yeoman 生成器。我想下载一个包含 CMS 的外部 zip 并将其解压缩到根目录中。根据this thread这应该是可能的。这还没有实现吗?如果没有,我需要将什么复制到我的生成器?
我已经运行了生成器 generator 并启动了我的基本生成器。到目前为止,这是我的代码。
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', '.');
}
这会生成一个错误,告诉我它“找不到模块‘下载’”。正确的语法是什么?
最佳答案
我为你做了一点调查。
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
*/
关于node.js - 使用 yeoman 生成器下载 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520511/