Конфигурационные функции Grunt опущены

Я пытаюсь определить пользовательскую функцию в конфигурации useminPrepare, но независимо от того, что я делаю, эта функция в конечном итоге пропускается в сборке.

Я обновил Node(0.10.36) и NPM(2.4.1) до последних версий.

Конфигурационный файл:

useminPrepare: {
    src: options.dist.dir + '/index.html',
    options: {
        dest: options.dist.dir + '/',
        staging: options.temp.dir,

        flow: {
            steps: {
                js: ['concat', 'uglifyjs']
            },
            post: {
                js: [
                    {
                        name: 'concat',
                        createConfig: function(a,b) {
                            console.log(a,b);
                        }
                    },
                    'uglifyjs'
                ]
            }
        }
    }
}

Grunt сборка многословна (уведомление createConfig пропало):

Running "useminPrepare:useminPrepare" (useminPrepare) task
Verifying property useminPrepare.useminPrepare exists in config...OK
Files: dist/index.html
Options: dest="dist/", staging=".tmp", flow={"steps":{"js":["concat","uglifyjs"]},"post":{"js":[{"name":"concat"},"uglifyjs"]}}
Going through dist/index.html to update the config
Looking for build script HTML comment blocks

У кого-нибудь есть идеи?

Он также пропускает, если я укажу свой собственный параметр с функцией в качестве значения (он не будет опущен, если я укажу строку):

name: 'concat',
test: function() {
    console.log("Hello world");
},
createConfig: function() {
    console.log(a,b);
}

1 ответ

Решение

Я понял, что я сделал неправильно, я должен был указать параметры вне моей подзадачи, например, так:

useminPreprare: {
    options: {
        dest: options.dist.dir + '/',
        staging: options.temp.dir,

        flow: {
            steps: {
                js: ['concat', 'uglifyjs'],
                css: ['concat', 'cssmin']
            },
            post: {
                js: [
                    {
                        name: 'concat',
                        createConfig: function(a,b) {
                            console.log(a,b);
                        }
                    },
                    'uglifyjs'
                ]
            }
        }
    },
    build: {
        src: options.dist.dir + '/index.html',
    }
}

Теперь я могу выполнить useminPrepare с задачей useminPrepare:build

Другие вопросы по тегам