Javascript 使用Grunt迭代模板
我正在构建一个grunt文件,我有两个文件夹需要应用相同的grunt任务。我希望能够使用gruntJavascript 使用Grunt迭代模板,javascript,gruntjs,Javascript,Gruntjs,我正在构建一个grunt文件,我有两个文件夹需要应用相同的grunt任务。我希望能够使用grunttemplate属性来迭代每个文件夹,这样我就不必通过重复配置对象来膨胀grunt配置对象。像这样: app1: { name: 'app1', src: ['src/app/<%= app1.name %>'], jsTpl: ['<%= distdir %>/<%= app1.name %>/templates/**/*.js'], js: '
template
属性来迭代每个文件夹,这样我就不必通过重复配置对象来膨胀grunt配置对象。像这样:
app1: {
name: 'app1',
src: ['src/app/<%= app1.name %>'],
jsTpl: ['<%= distdir %>/<%= app1.name %>/templates/**/*.js'],
js: '<%= app1.src %>/**/*.js'
},
app2 {
name: 'app2',
src: ['src/app/<%= app2.name %>'],
jsTpl: ['<%= distdir %>/<%= app2.name %>/templates/**/*.js'],
js: '<%= app2.src %>/**/*.js'
},
concat: {
app1: {
src: ['<%= app1.src %>'],
dest: ['dist']
},
app2: {
src: ['<%= app2.src %>'],
dest: ['dist/<%= app2.name %>']
}
}
app1:{
名称:“app1”,
src:['src/app/'],
jsTpl:['//templates/***.js'],
js:“/***.js”
},
附件2{
名称:“app2”,
src:['src/app/'],
jsTpl:['//templates/***.js'],
js:“/***.js”
},
康卡特:{
附录1:{
src:[''],
目的地:['dist']
},
附录2:{
src:[''],
目的地:['dist/']
}
}
不必重复app1
和app2
,这将是非常理想和干燥的,相反,通过一些配置将它们组合在一起会非常棒。但我似乎不知道怎么做。谢谢你的帮助
谢谢 Grunt只是一个普通的JS,所以您可以创建一个函数来生成配置对象
function appConfig(appName){
return {
name: appName,
src: ['src/app/' + appName],
jsTpl: ['<%= distdir %>/' + appName + '/templates/**/*.js'],
js: 'src/app/**/*.js'
};
}
函数appConfig(appName){
返回{
名称:appName,
src:['src/app/'+appName],
jsTpl:['/'+appName+'/templates/***.js'],
js:'src/app/***.js'
};
}
然后在设置配置时只需调用此函数
app1: appConfig('app1'),
app2: appConfig('app2'),
concat: {
app1: {
src: ['<%= app1.src %>'],
dest: ['dist']
},
app2: {
src: ['<%= app2.src %>'],
dest: ['dist/<%= app2.name %>']
}
}
app1:appConfig('app1'),
app2:appConfig('app2'),
康卡特:{
附录1:{
src:[''],
目的地:['dist']
},
附录2:{
src:[''],
目的地:['dist/']
}
}
太棒了。那就行了。谢谢别忘了为这件事奖励你的赏金。