0

html-build`,我正在尝试从我正在创建的自定义任务中传递其配置的自定义属性。

这是我当前的代码:

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

4

1 回答 1

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');        
    });
于 2017-06-29T07:50:38.307 回答