2013-05-14 104 views
0

我有如下gruntfile:在任务中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(“基本”,[“CONCAT:全”] );

我想要一个和两个运行。我应该如何添加此选项

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

回答

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' 
    } 
    } 
}); 
+0

我喜欢这个人的灵活性更好 – 2014-01-21 17:43:42

2

咕噜允许你定义的主要对象。因此在默认目标中定义为

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

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

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

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

如果您需要运行具有多个目标的特定任务,那么您可以按如下方式进行定义。

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

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

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

希望这可能会有所帮助。