2014-11-08 52 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'); 
} 
注入到您的构建路径字符串
相关问题