Grunt concat - banner行为

时间:2015-06-30 18:42:53

标签: gruntjs grunt-contrib-concat

我有一个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个实例吐出。

0 个答案:

没有答案