0

Grunt가 모든 것을 함께 concat하는 문제가 있습니다 .js 오류가있는 경우 연결된 파일의 행에 실제로 그 행이 표시됩니다. concat, uglify 또는 내가 이것을 막기 위해 필요한 것은 무엇이든간에 ... "개발자 모드"에서 플래그를 지정하는 것이 정말 멋질 것입니다. 그런 다음 무언가가 제작에 넘어 가면 자동으로 다시 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에와 자극에 대한 다른 하나는 두 개의 서로 다른 구성을 만들 필요가 꿀꿀 DEV . dev에 당신은 concat 및 uglify 옵션을 제거 할 수 있습니다. –

답변

-1

는 다음과 같이 구성 만들기 :

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

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

과 같이 실행합니다

+0

조금 혼란스러워서 내 전통적인 grunt.registerTask ('build') 대신 grunt.registerTask ('dev', [ // dev에 대한 모든 작업 나열] ]를 호출하는 대신에 grunt dev – user2402107

+0

간단히 명령 프롬프트에 다음을 작성하십시오. grunt dev. 빌드 대신 dev 태스크를 실행합니다. (grunt 이후의 단어는 실행하려는 태스크의 이름입니다.) –