usage uglify serve nodejs grunt clean gruntjs grunt-contrib-watch

gruntjs - uglify - grunt watch folder



grunt-contrib-watch que causa el tamaño máximo de pila de llamadas excedido (2)

Cuando ejecuto la tarea de limpieza (grunt clean), todo funciona como se esperaba pero cuando ejecuto la tarea watch (prueba de ronco), aparece el siguiente error:

util.js:35 var str = String(f).replace(formatRegExp, function(x) { ^ RangeError: Maximum call stack size exceeded

Aquí está mi gruntfile

module.exports = (grunt) -> grunt.initConfig pkg: grunt.file.readJSON(''package.json'') clean: [''tmpDir/''] watch: options: spawn: false src: tasks: [''clean''] files: [ src: ''client/assets/strings/en/str.coffee'' ] # plugins grunt.loadNpmTasks(''grunt-contrib-clean'') grunt.loadNpmTasks(''grunt-contrib-watch'') # tasks grunt.registerTask(''test'', [''watch''])

Aquí está mi archivo package.json:

{ "author": "Your Name <Your Email>", "name": "app-name", "description": "Application description", "version": "0.0.1", "homepage": "", "repository": { "type": "git", "url": "" }, "engines": { "node": "~0.10.28" }, "scripts": { "start": "muffin server" }, "dependencies": { "coffee-script": "~1.1.2", "express": "~3.0.6", "chai": "~1.4.2", "underscore": "~1.4.3", "wd": "0.0.27" }, "devDependencies": { "express": "~3.0.6", "grunt": "^0.4.5", "grunt-contrib-coffee": "^0.11.1", "grunt-contrib-copy": "^0.6.0", "grunt-contrib-less": "^0.11.4", "grunt-contrib-watch": "^0.6.1", "requirejs": "~2.0.1" } }

La salida cuando corro con --verbose es la siguiente: Note: replaced base path with ***

Initializing Command-line options: --verbose Reading "gruntfile.coffee" Gruntfile...OK Registering Gruntfile tasks. Reading package.json...OK Parsing package.json...OK Initializing config...OK Registering "grunt-contrib-clean" local Npm module tasks. Reading /***/node_modules/grunt-contrib-clean/package.json...OK Parsing /***/node_modules/grunt-contrib-clean/package.json...OK Loading "clean.js" tasks...OK + clean Registering "grunt-contrib-watch" local Npm module tasks. Reading /***/node_modules/grunt-contrib-watch/package.json...OK Parsing /***/node_modules/grunt-contrib-watch/package.json...OK Loading "watch.js" tasks...OK + watch Loading "gruntfile.coffee" tasks...OK + test Running tasks: test Running "test" task Running "watch" task Waiting... Verifying property watch exists in config...OK Verifying property watch.src.files exists in config...OK Warning: Object #<Object> has no method ''indexOf'' Running "watch" task Waiting... Verifying property watch exists in config...OK Verifying property watch.src.files exists in config...OK Warning: Object #<Object> has no method ''indexOf'' ... many of these Running "watch" task Waiting... Verifying property watch exists in config...OK Verifying property watch.src.files exists in config...OK Warning: Object #<Object> has no method ''indexOf'' (node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral. (node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral. ... many of these (node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral. util.js:35 var str = String(f).replace(formatRegExp, function(x) { ^ RangeError: Maximum call stack size exceeded


La propiedad de files toma una matriz de cadenas de patrones de archivos. Has suministrado un objeto que no sabe cómo interpretar.

Cambia esto:

files: [ src: ''client/assets/strings/en/str.coffee'' ]

A esto:

files: [ ''client/assets/strings/en/str.coffee'' ]


Finalmente descubrí un problema similar que estaba teniendo con el hechizo. Estaba usando

grunt.registerTask (''hechizo'', [''hechizo'']); El truco fue que a Grunt no parece gustarle la repetición en los nombres. Cuando cambio a

grunt.registerTask (''spellCheck'', [''hechizo'']); Todo funcionó como debería.

puede esto te ayuda