0

J'ai actuellement un problème où Grunt encapsule tout ensemble, donc s'il y a une erreur .js alors il le montre juste à une ligne dans le fichier concaténé et non pas où je devrais vraiment regarder est là un moyen de désactiver la concaténation, l'uglification ou tout ce dont j'ai besoin pour empêcher que cela se produise ... ce serait vraiment cool de pouvoir le signaler en "mode développeur" puis il est allé quelque chose à la production il pourrait automatiquement revenir à concaténer Je suis content de l'éteindre quand je travaille dessus et de revenir sur le changement.Désactiver Grunt Concat tout en développant

GruntFile:

/*global module:false*/ 
module.exports = function (grunt) { 

    require('jit-grunt')(grunt, { 
     useminPrepare: 'grunt-usemin' 
    }); 
    require('time-grunt')(grunt); 

    // Project configuration. 
    grunt.initConfig({ 
     // Metadata. 
     pkg: grunt.file.readJSON('package.json'), 
     banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 
     '<%= grunt.template.today("yyyy-mm-dd") %> */\n', 
     // Task configuration. 
     meta: { 
      app_files: ['src/main/webapp/**/*.js', '!src/main/webapp/bower_components/**/*', '!src/main/webapp/assets/lib/**/*'], 
      lib_files: ['src/main/webapp/assets/lib/**/*'], 
      dist_dir: 'target' 
     }, 
     jshint: { 
      options: { 
       jshintrc: true 
      }, 
      gruntfile: { 
       src: 'Gruntfile.js' 
      }, 
      app_files: { 
       src: '<%= meta.app_files %>' 
      } 
     }, 
     jscs: { 
      options: { 
       config: '.jscsrc', 
       fix: true 
      }, 
      src: '<%= meta.app_files %>' 
     }, 
     clean: { 
      dist: '<%= meta.dist_dir %>', 
      temp: '.tmp', 
      coverage: 'coverage' 
     }, 
     connect: { 
      server: { 
       options: { 
        port: 9000, 
        base: 'src/main/webapp', 
        open: true, 
        livereload: true 
       } 
      }, 
      dist: { 
       options: { 
        base: '<%= meta.dist_dir %>', 
        open: true 
       } 
      } 
     }, 
     watch: { 
      livereload: { 
       files: ['<%= meta.app_files %>', 'src/main/webapp/**/*.html', 'src/main/webapp/**/*.css'], 
       options: { 
        livereload: true 
       } 
      }, 
      gruntfile: { 
       files: '<%= jshint.gruntfile.src %>', 
       tasks: ['jshint:gruntfile'] 
      }, 
      jshint: { 
       files: '<%= meta.app_files %>', 
       tasks: ['newer:jshint:app_files', 'newer:jscs'] 
      } 
     }, 
     useminPrepare: { 
      html: 'src/main/webapp/index.html', 
      options: { 
       dest: '<%= meta.dist_dir %>/wiz' 
      } 
     }, 
     usemin: { 
      html: '<%= meta.dist_dir %>/wiz/index.html' 
     }, 
     copy: { 
      dist: { 
       files: [{ 
        expand: true, 
        dot: true, 
        cwd: 'src/main/webapp', 
        dest: '<%= meta.dist_dir %>/wiz', 
        filter: 'isFile', 
        src: [ 
         '**/*', 
         '!**/*.js', 
         '!**/*.css', 
         '!bower_components/**/*' 
        ] 
       }] 
      }, 
      assets: { 
       files: [{ 
        expand: true, 
        dot: true, 
        cwd: 'src/main/webapp/assets/lib', 
        dest: 'target/assets/lib', 
        src: [ 
         'chart-1.0.1.js', 
         'angular-chart.js', 
         'angular-google-chart-0.1.0-beta.1.js', 
         'Chart.HorizontalBar.js' 
        ] 
       }] 
      } 
     }, 
     htmlmin: { 
      dist: { 
       options: { 
        collapseWhitespace: true, 
        collapseBooleanAttributes: true, 
        removeCommentsFromCDATA: true, 
        removeOptionalTags: true 
       }, 
       files: [{ 
        expand: true, 
        cwd: '<%= meta.dist_dir %>/wiz', 
        src: ['**/*.html'], 
        dest: '<%= meta.dist_dir %>/wiz' 
       }] 
      } 
     }, 
     karma: { 
      all: { 
       configFile: 'karma.conf.js', 
       singleRun: true 
      }, 
      chrome: { 
       configFile: 'karma.conf.js', 
       singleRun: true, 
       browsers: ['Chrome'] 
      }, 
      firefox: { 
       configFile: 'karma.conf.js', 
       singleRun: true, 
       browsers: ['Firefox'] 
      }, 
      ie: { 
       configFile: 'karma.conf.js', 
       singleRun: true, 
       browsers: ['IE'] 
      }, 
      phantomjs: { 
       configFile: 'karma.conf.js', 
       singleRun: true, 
       browsers: ['PhantomJS'] 
      } 
     }, 
     wiredep: { 
      app: { 
       src: [ 'src/main/webapp/index.html' ] 
      }, 
      test: { 
       src: ['karma.conf.js'], 
       devDependencies: true 
      } 
     }, 
     uglify: { 
      options: { 
       mangle: false 
      } 
     }, 
     cssmin: { 
      options: { 
       beautify: true 
      } 
     } 
    }); 

    grunt.registerTask('serve', function (target) { 
     if (target === 'dist') { 
      return grunt.task.run('connect:dist:keepalive'); 
     } 

     grunt.task.run(['wiredep', 'connect:server', 'watch:livereload']); 
    }); 

    grunt.registerTask('test', function (target) { 
     grunt.task.run(['clean:coverage', 'wiredep:test', 'karma:' + (target ? target : 'all')]); 
    }); 

    grunt.registerTask('check-code', ['newer:jshint', 'newer:jscs']); 

    grunt.registerTask('build', [ 
     'clean:dist', 
     'wiredep:app', 
     'useminPrepare', 
     'concat', 
     'copy:dist', 
     'copy:assets', 
     'cssmin', 
     'uglify', 
     'usemin', 
     'clean:temp' 
    ]); 

    grunt.registerTask('default', [ 
//  'newer:jshint', 
//  'newer:jscs', 
//  'test:phantomjs', 
     'build' 
    ]); 
}; 
+0

Vous devez créer deux configurations différentes un pour dev et l'autre pour les prod . En dev, vous pouvez supprimer les options de concaténation et d'uglification. –

Répondre

-1

Créer différentes configurations ci-dessous:

grunt.registerTask('dev', [ 
// List all tasks for dev 
]); 

grunt.registerTask('prod', [ 
// List all tasks for production 
]); 

et Execute comme: grunt dev

+0

Im un peu confus donc au lieu d'appeler mon grunt.registerTask traditionnelle («build», j'appellerais grunt.registerTask («dev», [ // Liste toutes les tâches pour dev ]); Comment puis-je appeler grunt dev – user2402107

+0

Simplement, dans votre invite de commande, écrivez: dev. Grunt il va exécuter la tâche dev au lieu de build (Word après grunt est le nom de la tâche, que vous voulez exécuter.) –