2014-11-08 75 views
0

我正在建造一個yeoman發生器。我提示用戶說出這樣的項目:Yeoman發電機:我如何訪問用戶提供的選項?

SimplesiteGenerator.prototype.askFor = function askFor() { 
    var cb = this.async(); 


    console.log(this.yeoman); 

    var prompts = [{ 
     name: 'siteName', 
     message: 'What do you want to call your site?' 
    }]; 

    this.prompt(prompts, function (props) { 
     this.siteName = props.siteName; 

     cb(); 
    }.bind(this)); 
}; 

而且,我建立文件系統:

SimplesiteGenerator.prototype.app = function app() { 
    this.mkdir('app'); 
    this.mkdir('app/templates'); 
    this.mkdir('img'); 

我想被給出相同的目錄中建立文件系統名稱作爲項目。我如何獲得用戶提供的選項並將其傳遞給應用程序?

回答

0

你需要創建一個空的全局變量,然後分配給它的用戶的價值回答像這樣

var projectFolderName = ''; 

this.prompt(prompts, function (props) { 
    this.siteName = props.siteName; 

    projectFolderName = props.siteName; 

    cb(); 
}.bind(this)); 

然後這個變量通過級聯像這樣

SimplesiteGenerator.prototype.app = function app() { 
    this.mkdir('app/' + projectFolderName); 
    this.mkdir('app/templates'); 
    this.mkdir('img'); 
} 
注入到您的構建路徑字符串
相關問題