2015-12-21 113 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