2017-06-29 21 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');   
    });