2015-12-21 112 views
0

以下配置工作正常,但是当//build: {东西是注释掉它要么静静地失败,或者它意想不到的东西给我。咕噜 - 巴贝尔不工作的多任务

babel: { 
     //build: { 
      options: { 
       sourceMap: true, 
       presets: ['es2015'] 
      }, 
      dist: { 
       files: [{ 
        expand: true, 
        cwd: 'build/src/app', 
        src: ['**/*.js'], 
        dest: 'build/src/es5-app' 
       }] 
      } 
     //} 
    }, 

所以,用//build: {注释掉的es5-app目录在build/src创建,但//build: {未加注释,是不是创建的目录。在这两种情况下,grunt运行为grunt babel,并且它返回Done, without errors

回答

1

由于grunt-babel被注册为多任务,因此dist实际上是目标的名称,其中files位于配置的第一级。所以当你运行没有build的babel时,它实际上运行着babel:dist(你应该在日志中看到)。

对于它的工作您想要的方式,你需要像下面这样:

babel: { 
    options: { 
     sourceMap: true, 
     presets: ['es2015'] 
    }, 
    dist: { 
     files: [{ 
      expand: true, 
      cwd: 'build/src/app', 
      src: ['**/*.js'], 
      dest: 'build/src/es5-app' 
     }] 
    } 
    build: { 
     files: [{ 
      expand: true, 
      cwd: 'build/src/app/test', 
      src: ['test/**/*.js'], 
      dest: 'build/test/es5-app' 
     }] 
    } 
}, 

这将允许你运行任何巴贝尔:距离或巴贝尔:订做。

对多任务的详细信息,请参阅http://gruntjs.com/creating-tasks