tutorial nodejs grunt node.js debugging gruntjs bower filepath

node.js - nodejs - javascript grunt



Obteniendo el mensaje de error "No" concat "objetivos encontrados" cuando se ejecuta grunt-usemin (2)

Demasiado tarde, pero en caso de que sea útil para otra persona: creo que useminprepare generará automáticamente una configuración de concat y la transmitirá al runner de la tarea gruñona, por lo que las respuestas anteriores no son del todo exactas, diría yo.

Intentaría revisar los bloques de compilación en src / index.html y comprobar que las rutas apuntan correctamente a los recursos que useminPrepare se concatenarán. Estoy luchando ahora con un problema como este: S

Referencia aquí: https://github.com/yeoman/grunt-usemin

Mi archivo gruñido se muestra a continuación:

module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON(''package.json''), uglify: { options: { banner: ''/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> *//n'' }, build: { src: ''src/**/*.js'', dest: ''dist/<%= pkg.name %>.min.js'' } }, watch: { js: { files: [''src/**/*.js''], options: { livereload: ''<%= connect.options.livereload %>'' } }, livereload: { options: { livereload: ''<%= connect.options.livereload %>'' }, files: [ ''src/**/*.html'', ''src/**/*.css'', ''src/assets/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'' ] } }, connect: { options: { port: 9000, livereload: 35729, hostname: ''localhost'' }, livereload: { options: { open: true, // base: [ // ''.tmp'', // '''' // ] middleware: function(connect) { return [ connect.static(''.tmp''), connect().use( ''/bower_components'', connect.static(''./bower_components'') ), connect().use( ''/app/styles'', connect.static(''./app/styles'') ), connect.static(''src'') ]; } } } }, copy: { app: { cwd: ''src'', // set working folder / root to copy src: ''**/*.html'', // copy all files and subfolders dest: ''dist/'', // destination folder expand: true }, assets: { cwd: ''src'', // set working folder / root to copy src: ''assets/*'', // copy all files and subfolders dest: ''dist/'', // destination folder expand: true } }, useminPrepare: { options: { dest: ''dist'' }, html: ''src/index.html'' }, usemin: { html: [''dist/index.html''] } }); // Load the plugin that provides the "uglify" task. // grunt.loadNpmTasks(''grunt-contrib-uglify''); grunt.loadNpmTasks(''grunt-contrib-connect''); grunt.loadNpmTasks(''grunt-contrib-watch''); grunt.loadNpmTasks(''grunt-contrib-uglify''); grunt.loadNpmTasks(''grunt-contrib-copy''); grunt.loadNpmTasks(''grunt-contrib-concat''); grunt.loadNpmTasks(''grunt-usemin''); // Default task(s). grunt.registerTask(''default'', [''useminPrepare'', ''copy'', ''concat'', ''uglify'', ''usemin'']); grunt.registerTask(''serve'', function(target) { grunt.task.run([ ''connect:livereload'', ''watch'' ]); }); };

cuando ejecuto ronco el mensaje de error como "No" concat "objetivos encontrados". He intentado durante 2 horas resolver este problema, pero ningún resultado me ayudó a encontrar la solución.


Use el siguiente proceso para depurar:

  • Ejecute el proyecto de muestra

  • Especifique un directorio de ubicación de almacenamiento temp ( temp o staging )

  • Antes de ejecutar usemin , asegúrese de que el directorio de temp o staging no esté vacío

  • Si está vacío, ejecute una tarea de grunt copy ronca que tenga el directorio temp o staging establecido como el parámetro dest

La principal diferencia a tener en cuenta, con respecto a directorios y tareas, es que para useminPrepare , los directorios necesitan indicar la ruta de entrada, transitoria y de salida necesaria para generar la configuración correcta para el pipeline de procesadores, mientras que en el caso de usemin solo refleja las rutas de salida, ya que todos los activos necesarios deberían haber sido enviados al directorio de destino (ya sea transformado o simplemente copiado).

Referencias