Загрузка задач Gruntfile.jsERROR при запуске `grunt`

Я новичок в мире Grunt.

После установки grunt-cli и всех зависимостей вот мой: Gruntfile.js

/*
        Grunt installation:
        -------------------
            npm install -g grunt-cli
            npm install -g grunt-init
            npm init (creates a `package.json` file)

        Project Dependencies:
        ---------------------
            npm install grunt --save-dev
            npm install grunt-contrib-concat --save-dev
            npm install grunt-contrib-watch --save-dev



        Example Usage:
        --------------
            grunt -v
            grunt release -v

*/


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

    grunt.initConfig({

        concat: {

            js: {
                src: ['js/bootstrap.min.js', 'js/jquery-1.10.2.min.js'],
                dest: 'build/js/scripts.js'
            },

            css: {
                src: ['css/bootstrap.min.css', 'css/font-awesome.min.css'],
                dest: 'build/css/styles.css'
            }
        },

        watch: {

            js: {
                files: ['js/**/*.js'],
                task: ['concat:js']
            },

            css: {
                files: ['css/**/*.css'],
                task: ['concat:css']
            }
        }

    });

    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasksNpmTasks('grunt-contrib-watch');
    grunt.registerTask('default', ['concat', 'watch']);

};

Результат

Теперь часть тестирования, я попытался запустить grunt, я продолжал получать:

Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.

Может кто-нибудь, пожалуйста, скажите мне, что я сделал неправильно здесь?


person cyb3rZ    schedule 11.05.2015    source источник
comment
Он не понимает grunt.loadNpmTasksNpmTasks. Он должен быть grunt.loadNpmTasks похож на предыдущий. Я думаю, что это просто запутался.   -  person Andy    schedule 11.05.2015


Ответы (2)


Похоже, что цель default не создается должным образом из-за опечатки. Попробуйте переименовать

grunt.loadNpmTasksNpmTasks('grunt-contrib-watch');

to

grunt.loadNpmTasks('grunt-contrib-watch');
person Daniel Imms    schedule 11.05.2015
comment
Любая разница между ними? - person cyb3rZ; 11.05.2015
comment
Первый не является допустимым методом ворчания. - person Andy; 11.05.2015
comment
Быстрый вопрос, кажется, я запинаюсь сказать Running Watch task Waiting ... - person cyb3rZ; 11.05.2015
comment
grunt-contrib-watch предназначен для этого, он говорит, что программа ждет, слушает (наблюдает) за изменениями. - person Daniel Imms; 11.05.2015
comment
Есть ли способ настроить мои часы для ворчания, чтобы они ничего не делали, если ничего не изменилось? - person cyb3rZ; 11.05.2015
comment
Если вы хотите, чтобы ваш браузер обновлялся при изменении файла css или js, оставьте его включенным. Ничего не получится, если ничего не изменилось. Я не уверен, что ваш вопрос на самом деле. - person Andy; 11.05.2015
comment
Вот как работают часы, программа должна работать постоянно, чтобы отслеживать изменения и распространять их. - person Daniel Imms; 11.05.2015

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

npm install --unsafe-perm
person sid7747    schedule 30.11.2018