Javascript 在创建自己的自定义yeoman生成器时,如何使用GrunFile中提示的变量?
在建造约曼发电机时。给定,my index.js包含:Javascript 在创建自己的自定义yeoman生成器时,如何使用GrunFile中提示的变量?,javascript,templating,yeoman-generator,Javascript,Templating,Yeoman Generator,在建造约曼发电机时。给定,my index.js包含: ... prompting: function () { var done = this.async(); // have Yeoman greet the user this.log(this.yeoman); var questions = [ { name: 'value', message: 'Give me some value?'
...
prompting: function () {
var done = this.async();
// have Yeoman greet the user
this.log(this.yeoman);
var questions = [
{
name: 'value',
message: 'Give me some value?'
},
];
this.prompt(questions, function (answers) {
this.value = answers.value;
done();
}.bind(this));
},
...
writing: function () {
this.copy("_Gruntfile.js", "Gruntfile.js");
}
...
我对“给我一些价值”提示的回答是“测试”。如何使用\u Gruntfile
中提示的值生成:
uglify: {
dist: {
files: {
'<%= yeoman.dist %>/test.min.js': ['<%= yeoman.dist %>/test.js']
}
}
},
uglify:{
地区:{
档案:{
'/test.min.js':['/test.js']
}
}
},
我试过:
uglify: {
dist: {
files: {
'<%= yeoman.dist %>/<%% value%>.min.js': ['<%= yeoman.dist %>/<%value%>.js']
}
}
},
uglify:{
地区:{
档案:{
'/.min.js':['/.js']
}
}
},
及
uglify:{
地区:{
档案:{
'/.min.js':['/.js']
}
}
},
使生成器将
或
替换为“测试”,但在运行时不会发生任何事情。第二个选项在my_bower.json中使用时有效。e、 g“name”:“
变为“name”:“test”
只需复制文件,您应该使用以下命令来解析它:
this.template("_Gruntfile.js", "Gruntfile.js");
谢谢,这帮我解决了问题。我做了更多的挖掘,复制和模板操作都通过模板引擎运行,但是它们的方式不同。我的bower.json就是这样处理的。你也可以运行
this.template(“\u Grunfile.js”,“Grunfile.js”)
这是一个源名称和目标名称的问题。我的解决方案本身解决了你的问题,还是你必须做些额外的事情?它解决了我的问题,只是想我会添加一些额外的信息,以便你可以改进答案。我的理解是stackoverflow的目标之一是建立一个知识库。当然,一旦我上了计算机,我会更新它,我只是不确定它是否解决了问题,或者只是解决方案的一部分。编辑。您说过this.copy()
也通过模板引擎运行它,您能找到任何支持它的引用吗?
this.template("_Gruntfile.js", "Gruntfile.js");