2017-06-29 22 views
0

html-build`的參數中覆蓋任務的屬性,我試圖從我創建的自定義任務中傳遞它的配置的自定義屬性。Grunt:從另一個

這是我當前的代碼:

grunt.initConfig({ 
     pkg: grunt.file.readJSON('package.json'), 

     htmlbuild: { 
      dist: { 
       src: 'template.html', 
       dest: 'tests/', 
       options: { 
        beautify: true, 
        scripts: { 
         mocha: [ 
          'assets/scripts/mocha/mocha.min.js', 
          'assets/scripts/mocha/chai.min.js', 
         ] 
        }, 
        styles: { 
         mocha: [ 
          'assets/css/mocha.min.css' 
         ] 
        } 
       } 
      } 
     } 
    }); 


grunt.registerTask('js-test', 'Generate JS test', function(scripts, tests) { 
     var htmlBuildScripts = grunt.config.get('htmlbuild.dist.options.scripts'); 

     htmlBuildScripts.scripts = [scripts]; 
     htmlBuildScripts.tests = [tests]; 

     grunt.config.set(htmlBuildScripts, htmlBuildScripts); 

     grunt.task.run('htmlbuild'); 
    }); 

現在當我在CMD js-test:assets/scripts/graphicUnitsConvert.js:assets/tests/graphicUnitsConvertTest.js

我得到這樣的警告Warning: str.replace is not a function

回答

0

我找到了答案運行

grunt.registerTask('js-test', 'Generate JS test', function(scripts, tests) { 
     grunt.config.set('htmlbuild.dist.options.scripts.scripts', [scripts.toString()]); 
     grunt.config.set('htmlbuild.dist.options.scripts.tests', [tests.toString()]); 

     grunt.task.run('htmlbuild');   
    });