Что означает "Проверка свойства ___ существует в конфигурации" в Grunt?

У меня есть простой Gruntfile, написанный на Coffeescript:

"use strict"

module.exports = (grunt) ->

    config =
        src: "app"
        dist: "build"

    grunt.initConfig =
        config: config
        copy:
            dist:
                files: [
                    expand: true
                    cwd: "<%= config.app %>"
                    dest: "<%= config.dist %>"
                    src: [
                        "*.{ico,png}"
                        "{*/}*.html"
                    ]
                ]

    grunt.loadNpmTasks "grunt-contrib-copy"

    grunt.registerTask "build", [
        "copy:dist"
    ]

    grunt.registerTask "default", [
        "build"
    ]

Который выдает следующую ошибку при запуске:

Verifying property copy.dist exists in config...ERROR
>> Unable to process task.
Warning: Required config property "copy.dist" missing. Use --force to continue.

Что это тоже относится? Кажется, что copy.dist присутствует, так почему он не читается?

Кроме того, я предполагаю, что это проблема форматирования Coffeescript, потому что эквивалентный Gruntfile, написанный на Javascript, не выдает эту проблему:

"use strict";

module.exports = function (grunt) {

    // Configurable paths
    var config = {
        scr: "app",
        dist: "build"
    }

    grunt.initConfig({

        // Project settings
        config: config,

        copy: {
            dist: {
                files: [{
                    expand: true,
                    cwd: "<%= config.app %>",
                    dest: "<%= config.dist %>",
                    src: [
                        "*.{ico,png}",
                        "{*/}*.html"
                    ]
                }]
            }
        }
    });

    // Install plugins
    grunt.loadNpmTasks("grunt-contrib-copy");

    grunt.registerTask("build", [
        "copy:dist"
    ]);

    grunt.registerTask("default", [
        "build"
    ]);

};

1 ответ

Я не вижу config.app в вашем конфигурационном блоке я вижу только config.src, который содержит строку ("app").

Так что я бы попробовал поменяться cwd: "<%= config.app %>" в cwd: "<%= config.src %>",

Надеюсь, это поможет.

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