0

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

4

0 回答 0