Grunt监视失败并显示消息“正在运行”监视“任务正在等待...警告:超出最大调用堆栈大小”

时间:2016-01-04 17:00:58

标签: javascript angularjs gruntjs grunt-contrib-watch

我有下一个Gruntfile.js

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

    // Load Grunt tasks declared in the package.json file
    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

    // Configure Grunt
    grunt.initConfig({

        // Grunt express - our webserver
        // https://github.com/blai/grunt-express
        express: {
            all: {
                options: {
                    bases: 'xxxxxxxx',
                    port: 9000,
                    hostname: '0.0.0.0',
                    livereload: true
                }
            }
        },

        // grunt-watch will monitor the projects files
        // https://github.com/gruntjs/grunt-contrib-watch
        watch: {
            all: {
                    files: ['**/*.html'],
                    options: {
                        livereload: true
                }
            }
        },

        // grunt-open will open your browser at the project's URL
        // https://www.npmjs.org/package/grunt-open
        open: {
            all: {
                path: 'http://localhost:9000/index.html'
            }
        },

        // grunt-open will install the bower components defined on the bower.json file
        // https://www.npmjs.com/package/grunt-bower-install-simple
        'bower-install-simple': {
            options: {
                color: true,
                directory: 'assets/bower_components'
            },
            'prod': {
                options: {
                    production: true
                }
            },
            'dev': {
                options: {
                    production: false
                }
            }
        }
    });

    // Creates the `server` task
    grunt.registerTask('server', [
        'express',
        'open',
        'watch'
        ]);
};

{
  "engines": {
    "node": ">= 0.10.0"
  },
  "devDependencies": {
    "grunt-bower-install-simple": "~1.2.0",
    "grunt-contrib-watch": "~0.6.1",
    "grunt": "~0.4.5",
    "matchdep": "~1.0.0",
    "grunt-express": "~1.4.1",
    "grunt-open": "~0.2.3"
  }
}

我在Grunt watch error - Waiting...Fatal error: watch ENOSPC

中尝试解决方案

但我仍然有这个错误:

  

运行“监视”任务等待...警告:最大调用堆栈大小   超过

有谁知道我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

grunt-express的文档中,似乎设置livereload会生成监视任务。我相信这项任务与您自己的watch任务相冲突。

尝试删除监视配置并修改服务器任务以使服务器保持活动状态:

// Creates the `server` task
grunt.registerTask('server', [
    'express',
    'open',
    'express-keepalive'
    ]);