2013-12-14 87 views
0

我使用的呼嚕聲,我增加了一個參數到配置:咕嚕配置變量

grunt.initConfig({ 
     // configurable paths 
     yeoman: { 
      app: 'app', 
      dist: 'dist', 
      assetsRoot: [ 
       '../', 
       '../a/b/c/', 
       '../d/d/s/' 
     }, 
     . 
     . 
     . 

後來我用這些變量。例如:

 clean: { 
      dist: { 
       files: [{ 
        dot: true, 
        src: [ 
         '.tmp', 
         '<%= yeoman.dist %>/*', // --> dist/* 
         '!<%= yeoman.dist %>/.git*' // --> !dist/* 
        ] 
       }] 
      }, 
      server: '.tmp' 
     }, 

但後來我想使用assetsRoot參數,它是一個數組而不是字符串。但如果我這樣做:

 connect: { 
      server: { 
       options: { 
        open: true, 
        base: [ 
         './', 
         '.tmp' 
        ].concat('<%= yeoman.assetsRoot %>') 
       } 
      }, 
     } 

但是,這串聯一個字符串數組,而不是組合數組! 我得到:

connect.server.options.base = ['./', '.tmp', '[ "../", "../a/b/c/", "../d/d/s/"]'] 

代替:

connect.server.options.base = ['./', '.tmp', '../', '../a/b/c/', '../d/d/s/'] 

不知道如何解決這個問題?

+0

我不確定,但你可以試試.concat('<%yeoman.assetsRoot%>')? – ilpaijin

回答

0

你輸出你的assetRoot數組包裹在單引號中,所以是的,它是一個字符串。編譯後的輸出看起來就像這樣:

[1, 2].concat('[3, 4]') 

更換'<%= yeoman.assetsRoot %>'<%= yeoman.assetsRoot %>讓你產生陣列。

+0

但後來我得到'SyntaxError:意外的令牌<' – Naor