2013-10-22 18 views
5

Tôi đang tạo Máy phát điện Yeoman đầu tiên của mình. Tôi muốn tải xuống một zip bên ngoài có chứa một CMS và giải nén nó trong thư mục gốc. Theo số this thread, điều này có thể xảy ra. Điều này chưa được triển khai chưa? Tôi cần sao chép qua máy phát điện của mình nếu không?Tải xuống máy nén với máy phát điện yeoman

Tôi đã chạy máy phát điện máy phát điện và có máy phát điện cơ bản của tôi lên. Đây là mã của tôi cho đến nay.

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', '.'); 
} 

Điều này tạo ra lỗi cho tôi biết rằng "không thể tìm thấy mô-đun 'tải xuống" ". Cú pháp chính xác là gì?

+0

Hi. Bạn có phiền chấp nhận câu trả lời của tôi không? Cảm ơn. –

Trả lời

6

Tôi đã thực hiện một cuộc điều tra nhỏ cho bạn.

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) 

Các callback sẽ vượt qua một lỗi nếu một cái gì đó đã đi sai.

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 
*/ 
+0

Trợ giúp bắt buộc !! 'repo' và' vendor/user-repo' nghĩa là gì? Có 'repo' toàn bộ đường dẫn' URL' đến 'kho lưu trữ' thực tế không? – Daggerhunt

+0

@Daggerhunt: đối số của remote.copy là các đường dẫn 'nguồn' và 'đích' (cục bộ), vì vậy được cho là bạn chỉ cần thay đổi đích đến nơi bạn muốn các tệp kết thúc. 'repo' chỉ nên là tên kho lưu trữ, được sử dụng để tạo url: url = 'https://github.com/' + [tên người dùng, repo, 'lưu trữ', chi nhánh] .join ('/') + '.tar.gz'; ' –

Các vấn đề liên quan