> ReferenceError: grunt is not defined Warning: Task"> > ReferenceError: grunt is not defined Warning: Task"> > ReferenceError: grunt is not defined Warning: Task" />

ग्रंट लॉन्च नहीं करता है: ">> संदर्भ त्रुटि: ग्रंट परिभाषित नहीं किया गया है"

मैं नोडजेएस और ग्रंट के लिए नया हूं और मैं यह काम करने के लिए संघर्ष कर रहा हूं। मुझे यह मिलता है कि मुझे क्या मिलता है:

$> grunt
Loading "Gruntfile.js" tasks...ERROR
>> ReferenceError: grunt is not defined
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.

यहां मेरी ग्रंटफाइल है:

module.exports = function(grunt) {
        grunt.initConfig({
                compass: {
                        dist: {
                                options: {
                                        config: 'config/config.rb'
                                }
                        }
                }
        });
};

grunt.loadNpmTasks('grunt-contrib-compass');

grunt.registerTask('default', 'compass');

और यहाँ मेरा पैकेज है। जेसन:

{
  "name": "tests",
  "version": "0.0.0",
  "description": "Grunt Tests",
  "main": "index.js",
  "devDependencies": {
    "grunt": "~0.4.2",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-cli": "~0.1.11"
  },
  "scripts": {
    "test": "grunt compass"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/Bertrand31/grunttests.git"
  },
  "keywords": [
    "Grunt",
    "NodeJS",
    "NPM",
    "SASS",
    "Compass"
  ],
  "author": "Bertrand Junqua",
  "license": "GPL",
  "bugs": {
    "url": "https://github.com/Bertrand31/grunttests/issues"
  },
  "homepage": "https://github.com/Bertrand31/grunttests"
}

ओह और मैं इसे डेबियन व्हीज़ी पर चला रहा हूं।

यदि आपके पास कोई विचार है, तो मुझे बताएं। बहुत बहुत धन्यवाद दोस्तों!

18
क्या आप अपनी Gruntfile के समान निर्देशिका से कमांड चला रहे हैं?
जोड़ा लेखक Kris Hollenbeck, स्रोत
इसके अलावा मुझे नहीं लगता कि इससे कोई फर्क पड़ता है। लेकिन मुझे लगता है कि आपके रजिस्टर कार्यों को इस तरह होना चाहिए: grunt.registerTask ('डिफ़ॉल्ट', ['कंपास']);
जोड़ा लेखक Kris Hollenbeck, स्रोत

1 उत्तर

आप grunt.loadNpmTasks और grunt.registerTask को उस दायरे से कॉल कर रहे हैं जहां grunt परिभाषित नहीं किया गया है। आपको मॉड्यूल.एक्सपोर्ट फ़ंक्शन के भीतर उन्हें कॉल करने की आवश्यकता होगी:

module.exports = function(grunt) {
    grunt.initConfig({
            compass: {
                    dist: {
                            options: {
                                    config: 'config/config.rb'
                            }
                    }
            }
    });

   //Call these here instead, where the variable grunt is defined.
    grunt.loadNpmTasks('grunt-contrib-compass');

    grunt.registerTask('default', 'compass');
};
38
जोड़ा
यह काम करता हैं ! आपको बहुत - बहुत धन्यवाद ! :)
जोड़ा लेखक Bertrand, स्रोत