0

У меня в настоящее время возникает проблема, когда Grunt объединяет все вместе, поэтому, если есть ошибка .js, тогда она просто показывает ее в строке в конкатенированном файле, а не там, где я действительно должен смотреть. способ отключить concat, ouglify или что-то еще, что мне нужно, чтобы это не произошло ... было бы действительно здорово, если бы он мог указывать это, когда в режиме «разработчика» затем пошел что-то, что было сделано, чтобы он мог автоматически вернуться к concat , и uglify, но я доволен выключением, когда я работаю над этим, а затем возвращая изменения.Включите Grunt Concat во время разработки

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

Вам нужно создать две различные конфигурации один для разработчика и другой для прода , В dev вы можете удалить параметры concat и uglify. –

ответ

-1

Создание различных конфигураций, как показано ниже:

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

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

И выполнить как: хрюкать разработчик

+0

Im немного запутался, поэтому вместо вызова моего традиционного grunt.registerTask ('build', я бы назвал grunt.registerTask ('dev', [ // Список всех задач для dev ]); Как мне позвонить grunt dev – user2402107

+0

Просто в командной строке напишите: grunt dev. он выполнит задачу dev вместо сборки. (Word after grunt - это имя задачи, которую вы хотите выполнить). –

Смежные вопросы