我有一个Grunt concat
任务,我正在尝试了解如何应用横幅。如果我在“options”对象中提供横幅,它将应用于我的每个子任务。这是设计上的,但它不是最佳的 - 每个连续任务最好都有自己的旗帜!
我的一个子任务是连接我的concat的结果。在这种情况下,应用3个横幅。一个到每个初步的concat,一个到最后的concat。
我最乐意解决这个问题:
如何仅为每个子任务应用自定义横幅?在我的想象中,语法将如下所示:
concat: {
options: { /* ... */ },
myStuff: {
banner: 'Some banner',
src: ['a.js','b.js'],
dest: 'somepath/complete.js'
},
otherStuff: {
banner: 'A totes different banner',
src: ['c.js','d.js'],
dest: 'somepath/complete2.js'
}
}
在挖掘grunt-contrib-concat文档时,是否存在我可能忽略的上述内容?
对我来说,另一种选择是将我的所有评论放在顶部的一条评论中,包括所有包含的库的许可信息。如果单个任务可以剥离横幅,然后只添加一个?
这是我当前的concat对象,如果它对任何人都有用(你可以假设模板片段都可以工作):
concat: {
options: {
stripBanners: false,
banner: '/*!\n' +
' * Concatenated JavaScript includes Bootstrap v<%= bootstrapInfo.version %> (<%= bootstrapInfo.homepage %>)\n' +
' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= bootstrapInfo.author %>\n' +
' * Licensed under the <%= bootstrapInfo.license %> license\n' +
' *\n' +
' * Also includes jQuery DataTables <%=dataTablesInfo.version %> (<%= dataTablesInfo.homepage %>)\n' +
' * Copyright 2008-<%= grunt.template.today("yyyy") %> <%= dataTablesInfo.author %>\n' +
' * Licensed under the <%= dataTablesInfo.license %> license (http://datatables.net/license)\n' +
' */\n',
},
bootstrapJS: {
src: [
'lib/bootstrap/js/transition.js',
'lib/bootstrap/js/alert.js',
'lib/bootstrap/js/button.js',
'lib/bootstrap/js/carousel.js',
'lib/bootstrap/js/collapse.js',
'lib/bootstrap/js/dropdown.js',
'lib/bootstrap/js/modal.js',
'lib/bootstrap/js/tooltip.js',
'lib/bootstrap/js/popover.js',
'lib/bootstrap/js/scrollspy.js',
'lib/bootstrap/js/tab.js',
'lib/bootstrap/js/affix.js'],
dest: 'purgatory/js/bootstrap.js'
},
dataTablesJS: {
src: [
'lib/datatables/js/jquery.dataTables.js',
'lib/datatables/js/dataTables.bootstrap.js'],
dest: 'purgatory/js/dataTables.js'
},
noCompMonolith: {
src: ['<%= concat.bootstrapJS.dest %>', '<%= concat.dataTablesJS.dest %>'],
dest: 'dev/js/application_monolith.js'
}
}
在此示例中,标题的3个实例吐出。