我有一个 Gruntconcat
任务,我试图了解如何应用横幅。如果我在“选项”对象中提供横幅,它将应用于我的每个子任务。这是设计使然,但不是最优的——理想情况下,每个 concat 任务都有自己的横幅!
我的子任务之一是连接我的 concat 的结果。在这种情况下,应用了 3 个横幅。一个到每个初步连接和一个到最终连接。
我会很高兴有一个解决方案:
如何将自定义横幅仅应用于每个子任务?在我的想象中,语法应该是这样的:
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 个实例被吐出。