with the started serve locally grunt getting cli gruntjs yeoman

gruntjs - the - npm grunt



Grunt/Yeoman Multiple Gruntfile.js archivos (1)

Mi objetivo es poder construir mi proyecto en dos carpetas de compilación separadas, cada una con sus propias tareas de Grunt.

Noté que grunt-cli tiene la opción --gruntfile que te permite especificar otro Gruntfile para usar. Hasta ahora, tengo un Gruntfile.js funcionando perfectamente (cerca de stock de Yeoman). Además, tengo otro Gruntfile2.js sentado al lado.

Gruntfile.js

var yeomanConfig = { app: ''app'', dist: ''../www_browser'' };

Gruntfile2.js

var yeomanConfig = { app: ''app'', dist: ''../www'' };

grunt build está destinado a ejecutar Gruntfile.js, y lo hace perfectamente.

grunt build --gruntfile Gruntfile2.js está destinado a ejecutar Gruntfile2.js , y lo hace con algunos contratiempos. (se supone que compilará en la carpeta ../www_browser NOT ../www_browser folder)

La directiva --gruntfile se crea en la carpeta adecuada para casi todas las tareas, excepto grunt-usemin y gunt-contrib-htmlmin . Lo sé por esta salida a la consola aquí:

Running "usemin:css" (usemin) task Processing as CSS - ../www_browser/styles/22f60055.main.css Running "concurrent:dist" (concurrent) task Running "htmlmin:dist" (htmlmin) task File ../www_browser/404.html created. File ../www_browser/index.html created.

Verás el ../www_browser , aquí en la salida de la consola. Cada otra tarea se ejecuta en la carpeta de espera ../www .

¿Esto es una caché Usemin? Grunt caché cosa? ¿O algunas tareas simplemente se ejecutan desde el Gruntfile.js predeterminado independientemente de la directiva --gruntfile Gruntfile2.js ?

Dejé de tratar de hacer objetivos múltiples de un solo Gruntfile por el momento. Hay demasiadas dependencias en Yeoman''s Gruntfile.js que todavía no admiten múltiples objetivos de compilación, y pasé 12 horas en vano con ese enfoque.

Información de la versión

$: grunt --version grunt-cli v0.1.9 grunt v0.4.1 $: npm --version 1.2.25 $: yo --version 1.0.3

paquete.json

{ "name": "myapp", "version": "0.0.0", "dependencies": {}, "devDependencies": { "grunt": "~0.4.1", "grunt-contrib-copy": "~0.4.1", "grunt-contrib-concat": "~0.1.3", "grunt-contrib-coffee": "~0.6.5", "grunt-contrib-uglify": "~0.2.0", "grunt-contrib-compass": "~0.2.0", "grunt-contrib-jshint": "~0.4.1", "grunt-contrib-cssmin": "~0.6.0", "grunt-contrib-connect": "~0.2.0", "grunt-contrib-clean": "~0.4.0", "grunt-contrib-htmlmin": "~0.1.3", "grunt-bower-requirejs": "~0.4.1", "grunt-contrib-requirejs": "~0.4.0", "grunt-contrib-imagemin": "~0.1.3", "grunt-contrib-watch": "~0.4.0", "grunt-rev": "~0.1.0", "grunt-usemin": "~0.1.10", "grunt-mocha": "~0.3.0", "grunt-open": "~0.2.0", "grunt-svgmin": "~0.1.0", "grunt-concurrent": "~0.1.0", "matchdep": "~0.1.1", "connect-livereload": "~0.2.0" }, "engines": { "node": ">=0.8.0" } }


Parece que estás usando una versión anterior de grunt-concurrent, que no parece pasar los indicadores de gruido a los procesos secundarios.

Vea aquí: https://github.com/sindresorhus/grunt-concurrent/blob/v0.1.0/tasks/concurrent.js#L11

En la versión actual del complemento, se pasan los indicadores, consulte aquí: https://github.com/sindresorhus/grunt-concurrent/blob/v0.3.1/tasks/concurrent.js#L22

Entonces, sugiero actualizar su versión de grunt-concurrent:

npm install grunt-concurrent@latest --save-dev