javascript - grunt required config property missing - Stack Overflow

setting up a new project that will have multiple grunt tasks that I want to load from task files.when r

setting up a new project that will have multiple grunt tasks that I want to load from task files.

when running my first task, 'core' which is supposed to build the core css for the site, I'm getting an error that I can't seem to resolve. been doing some googling and not finding this specific issue. any issues with the same error message usually were the result of a typo or misplaced curly braces on the part of the OP. Not sure that's the case here, but perhaps someone else sees what I'm obviously not seeing.

Gruntfile.js

module.exports = function(grunt) {

    grunt.initConfig({
        pkg: require('./package.json')
    });

    grunt.loadTasks('grunt-tasks');

};

grunt-tasks/grunt-core.js

module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-sass');
    grunt.config('core', {
        sass : {
            options : {
                sourceMap : true,
                includePaths : 'node_modules/bootstrap-sass/assets/stylesheets'
            },
            dist : {
                files : {
                    'main.css' : 'main.scss'
                }
            }
        }
    });
    grunt.registerTask('core', ['sass:dist']);
};

error:

$ grunt core
Running "sass:dist" (sass) task
Verifying property sass.dist exists in config...ERROR
>> Unable to process task.
Warning: Required config property "sass.dist" missing. Use --force to continue.

Aborted due to warnings.

I've tried a few different things. If I change the registerTask to this:

grunt.registerTask('core', ['sass']);

I get this error:

$ grunt core
>> No "sass" targets found.
Warning: Task "sass" failed. Use --force to continue.

Aborted due to warnings.

not sure if this is relevant, but here is package.json and some specs on the system I'm using.

Mac OSX Yosemite
node version v5.10.1
npm 3.8.3

package.json

{
  "name": "TEST",
  "version": "1.0.0",
  "description": "test test test",
  "main": "Gruntfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "author": "me <[email protected]>",
  "license": "ISC",
  "bugs": {
    "url": ""
  },
  "homepage": "",
  "devDependencies": {
    "angular": "^1.5.5",
    "bootstrap-sass": "^3.3.6",
    "grunt": "^1.0.1",
    "grunt-contrib-jshint": "^1.0.0",
    "grunt-contrib-uglify": "^1.0.1",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-sass": "^1.1.0",
    "jquery": "^2.2.3",
    "sass-lint": "^1.5.1"
  },
  "dependencies": {
    "jquery": "^2.2.3"
  }
}

setting up a new project that will have multiple grunt tasks that I want to load from task files.

when running my first task, 'core' which is supposed to build the core css for the site, I'm getting an error that I can't seem to resolve. been doing some googling and not finding this specific issue. any issues with the same error message usually were the result of a typo or misplaced curly braces on the part of the OP. Not sure that's the case here, but perhaps someone else sees what I'm obviously not seeing.

Gruntfile.js

module.exports = function(grunt) {

    grunt.initConfig({
        pkg: require('./package.json')
    });

    grunt.loadTasks('grunt-tasks');

};

grunt-tasks/grunt-core.js

module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-sass');
    grunt.config('core', {
        sass : {
            options : {
                sourceMap : true,
                includePaths : 'node_modules/bootstrap-sass/assets/stylesheets'
            },
            dist : {
                files : {
                    'main.css' : 'main.scss'
                }
            }
        }
    });
    grunt.registerTask('core', ['sass:dist']);
};

error:

$ grunt core
Running "sass:dist" (sass) task
Verifying property sass.dist exists in config...ERROR
>> Unable to process task.
Warning: Required config property "sass.dist" missing. Use --force to continue.

Aborted due to warnings.

I've tried a few different things. If I change the registerTask to this:

grunt.registerTask('core', ['sass']);

I get this error:

$ grunt core
>> No "sass" targets found.
Warning: Task "sass" failed. Use --force to continue.

Aborted due to warnings.

not sure if this is relevant, but here is package.json and some specs on the system I'm using.

Mac OSX Yosemite
node version v5.10.1
npm 3.8.3

package.json

{
  "name": "TEST",
  "version": "1.0.0",
  "description": "test test test",
  "main": "Gruntfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github./path/to/repo"
  },
  "author": "me <[email protected]>",
  "license": "ISC",
  "bugs": {
    "url": "https://github./path/to/repo/issues"
  },
  "homepage": "https://github./path/to/repo",
  "devDependencies": {
    "angular": "^1.5.5",
    "bootstrap-sass": "^3.3.6",
    "grunt": "^1.0.1",
    "grunt-contrib-jshint": "^1.0.0",
    "grunt-contrib-uglify": "^1.0.1",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-sass": "^1.1.0",
    "jquery": "^2.2.3",
    "sass-lint": "^1.5.1"
  },
  "dependencies": {
    "jquery": "^2.2.3"
  }
}
Share Improve this question asked Apr 25, 2016 at 18:14 keith73keith73 2185 silver badges12 bronze badges 1
  • if I add another option to config for concat, I get same error. When I add the config to Gruntfile.js everything runs fine. Problem seems to be with loadTasks operation. I'd really like to be able to load tasks from separate configs, because the project is going to get pretty big. – keith73 Commented Apr 25, 2016 at 18:52
Add a ment  | 

1 Answer 1

Reset to default 3

Looks like it was user error on my part.

in the task file, I had grunt.config(), but I should have had grunt.initConfig()

var taskConfig = {
    sass : {
        options : {
            sourceMap : true,
            includePaths : 'node_modules/bootstrap-sass/assets/stylesheets'
        },
        dist : {
            files : {
                'main.css' : 'main.scss'
            }
        }
    },
    concat : {
        core : {
            src : ['node_modules/jquery/dist/jquery.js', 'js/main.js'],
            dest : "../dev/js/main.js"
        }
    }
};

module.exports = function (grunt) {
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-sass');
    grunt.initConfig(taskConfig);
    grunt.registerTask('core', ['concat:core','sass']);
};

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744994588a4605111.html

相关推荐

  • javascript - grunt required config property missing - Stack Overflow

    setting up a new project that will have multiple grunt tasks that I want to load from task files.when r

    17小时前
    40

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信