Grunt: переопределить свойства задачи из аргументов другой

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

1 ответ

Я нашел ответ

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');        
    });
Другие вопросы по тегам