0

我有 gruntfile 如下:

       concat: {
        options: {
            banner: '<%= banner %>',
            stripBanners: true
        },
        one: {
            src: ['src/**/*.js'],
            dest: 'dist/<%= pkg.name %>_ac.js'
        },

        two: {
            src: ['/types/**/*.js'],
            dest: 'dist/<%= pkg.name %>_lib.js'
        },

        all: {
        }
    },.....  and so on

现在,如果我像这样注册任务: grunt.registerTask('basic', ['concat:all']);

我希望一个和两个都运行。我该如何添加这个选项

     all: {
          // what i need to add here to include one and two both?
     }
4

3 回答 3

5

如果您正在注册一个任务以指向两个目标,则无需添加另一个目标。做就是了:

grunt.registerTask('basic', ['concat:one', 'concat:two']);

否则,如果您打算将一个和两个文件连接在一起,请执行以下操作:

grunt.initConfig({
  concat: {
    one: {
      src: ['src/**/*.js'],
      dest: 'dist/<%= pkg.name %>_ac.js'
    },
    two: {
      src: ['/types/**/*.js'],
      dest: 'dist/<%= pkg.name %>_lib.js'
    },
    all: {
      src: ['<%= concat.one.src %>', '<%= concat.two.src %>'],
      dest: 'dist/<%= pkg.name %>_all.js'
    }
  }
});
于 2013-05-14T23:16:54.350 回答
2

Grunt 允许您定义主要目标。所以在你的默认目标中定义为

grunt.registerTask( 'basic',['concat']);

这将激活 concat:one 和 concat:two。

如果您需要激活特定目标,请按如下方式定义您的注册任务。

    grunt.registerTask( 'basic',['concat:one']);

如果您需要运行具有多个目标的特定任务,则可以定义如下。

all: {
     tasks: ['one','two']
    }

然后在您的 registerTask 中调用 all 目标。

 grunt.registerTask( 'basic',['concat:all']);

希望这可能会有所帮助。

于 2013-10-16T04:41:03.373 回答
1

您可以使用“gruntfile”插件,为您提供更强大的功能,您可以使用 concat 将一个 grunt 文件的任务添加到另一个文件。

参考链接:https ://github.com/shama/gruntfile

于 2014-10-15T09:28:34.777 回答