Dan Baker
Dan Baker

Reputation: 1827

Grunt is not defined

Just Getting started with grunt, and when I run grunt I get this error

Loading "Gruntfile.js" tasks...ERROR
>> ReferenceError: grunt is not defined

This is my Gruntfile.js

module.exports = function(grunt){
  'use strict';
};

Upvotes: 5

Views: 9605

Answers (4)

brianc
brianc

Reputation: 475

I had trailing commas in my gruntfile code which was throwing that error. Thank you ReSharper. Hope this helps someone.

   pkg: grunt.file.readJSON('package.json'),
    ngAnnotate: {
        options: {
            singleQuotes: true
        },
        FFApp: {
            files: {
                'Scripts/Angular-Annotated/Annotated.js': ['Scripts/Angular/**/*js']
            }

, (< deleted this)

        }

,(< and this one)

    },

Upvotes: 0

Dvid Silva
Dvid Silva

Reputation: 1162

I had it suddenly happen to me,

'use strict';
module.exports = function(grunt) {
  grunt.initConfig({
    sass: {
      dist: {
        files: {
          'style.css': 'style.scss'
        },
        options: {
          includePaths: ['css/'],
          outputStyle: 'nested'
        }
      }
    },
  });
  grunt.loadNpmTasks('grunt-sass');
  grunt.registerTask('sass', ['sass']);

};

Make sure the loadNpmTasks and registerTask commands are inside the module.export, if they're outside of the scope of that closure grunt won't be defined, so it fails

Upvotes: 7

Subtonix
Subtonix

Reputation: 117

I too saw many "grunt not defined" error messages on my terminal.

I grabbed another gruntfile.js from the same directory where I had Node and NPM installed, and replaced the boilerplate gruntfile.js with the other gruntfile.js.

Now, I call Grunt and it works.

Upvotes: 0

Dan Baker
Dan Baker

Reputation: 1827

Not entirely sure why, but this resolved that issue:

'use strict';
module.exports = function(grunt){
};

Upvotes: 5

Related Questions