Grunt не будет загружать сервер узла

Мой gruntfile.js является:

'use strict';

module.exports = function(grunt) {
    // Project Configuration
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        watch: {
            jade: {
                files: ['app/views/**'],
                options: {
                    livereload: true,
                },
            },
            js: {
                files: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
                tasks: ['jshint'],
                options: {
                    livereload: true,
                },
            },
            html: {
                files: ['public/views/**'],
                options: {
                    livereload: true,
                },
            },
            css: {
                files: ['public/css/**'],
                options: {
                    livereload: true
                }
            }
        },
        jshint: {
            all: {
                src: ['gruntfile.js', 'server.js', 'app/**/*.js', 'public/js/**', 'test/**/*.js'],
                options: {
                    jshintrc: true
                }
            }
        },
        nodemon: {
            dev: {
                options: {
                    file: 'server.js',
                    args: [],
                    ignoredFiles: ['public/**'],
                    watchedExtensions: ['js'],
                    nodeArgs: ['--debug'],
                    delayTime: 1,
                    env: {
                        PORT: 3000
                    },
                    cwd: __dirname
                }
            }
        },
        concurrent: {
            tasks: ['nodemon', 'watch'],
            options: {
                logConcurrentOutput: true
            }
        },
        mochaTest: {
            options: {
                reporter: 'spec',
                require: 'server.js'
            },
            src: ['test/mocha/**/*.js']
        },
        env: {
            test: {
                NODE_ENV: 'test'
            }
        },
        karma: {
            unit: {
                configFile: 'test/karma/karma.conf.js'
            }
        }
    });

    //Load NPM tasks 
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-mocha-test');
    grunt.loadNpmTasks('grunt-karma');
    grunt.loadNpmTasks('grunt-nodemon');
    grunt.loadNpmTasks('grunt-concurrent');
    grunt.loadNpmTasks('grunt-env');

    //Making grunt default to force in order not to break the project.
    grunt.option('force', true);

    //Default task(s).
    grunt.registerTask('default', ['jshint', 'concurrent']);

    //Test task.
    grunt.registerTask('test', ['env:test', 'mochaTest', 'karma:unit']);
};

и когда я печатаю grunt, Я получил:

$ grunt
Running "jshint:all" (jshint) task
>> 69 files lint free.

Running "concurrent:tasks" (concurrent) task
Running "nodemon:dev" (nodemon) task
Running "watch" task
Waiting...

Обычно это говорит Express started on Port 3000, но вдруг это не так. Не уверен, что происходит. Есть идеи?

Когда работает с -v флаг, я получаю:

Running tasks: nodemon

    Running "nodemon" task

    Running "nodemon:dev" (nodemon) task
    Verifying property nodemon.dev exists in config...OK
    File: [no files]
    Options: file="server.js", args=[], ignoredFiles=["public/**"], watchedExtensions=["js"], nodeArgs=["--debug"], delayTime=1, env={"PORT":3000}, cwd="/Users/shamoon/Sites/blocksearcher"
    Loading "env.js" tasks...OK
    + env
    Loading "gruntfile.js" tasks...OK
    + default, test

    Running tasks: watch

    Running "watch" task
    Waiting...Verifying property watch exists in config...OK
    Verifying property watch.jade.files exists in config...OK
    Verifying property watch.js.files exists in config...OK
    Verifying property watch.html.files exists in config...OK
    Verifying property watch.css.files exists in config...OK
    Live reload server started on port: 35729


        Watching app/views for changes.
    Watching app/views/includes for changes.
    ...

2 ответа

Решение

Посмотрите журнал изменений grunt-nodemon: https://github.com/ChrisWren/grunt-nodemon.

Вы, должно быть, недавно обновили свои зависимости, и grunt-nodemon изменил несколько свойств.

- file is now script
- ignoredFiles -> ignore
- watchedFolders -> watch
- watchedExtensions -> ext

Просто измените ваш options.file на скрипт или оставьте оба.

nodemon: {
    dev: {
        script: 'server.js',
        options: {
            file: 'server.js',
            args: [],
            ignoredFiles: ['public/**'],
            watchedExtensions: ['js'],
            nodeArgs: ['--debug'],
            delayTime: 1,
            env: {
                PORT: 3000
            },
            cwd: __dirname
        }
    }
}
Другие вопросы по тегам