2017-12-14 17 views
0

많은 uglify 작업을 만들려고하면 오류가 발생합니다. 하나의 작업을 올바르게 수행하려면 하나의 작업에 주석을 달고 주석 처리를 제거해야합니다. 누군가 나를 도울 수 있기를 바랍니다. 이 플러그인을 사용하여 만든 두 개의 압축 된 .js 파일이 필요하지만 알아낼 수는 없습니다. 하나의 작업 명령으로 두 작업을 모두 생성 할 수 있다면 다음과 같이 두 가지 정교한 .js 파일을 만들 수 있습니다. 아이디어를 기대하십시오.grunt에서 많은 개별 uglify 작업을 만드는 방법은 무엇입니까?

module.exports = function(grunt){ 

grunt.loadNpmTasks('grunt-contrib-uglify'); 

    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    uglify:{ 
     t1:{ 
      files:{ 
       'build/scripts1.js' : ['abc.js', 'xc.js'] 

      } 
     } 
    }, 

    uglify:{ 
     t2:{ 
      files:{ 
       'build/scripts2.js' : ['123.js', 63a5.js] 

      } 
     } 
    } 
    }); 
}; 

답변

1

당신은 추가 할 필요가 모두 Targetst1t2 하나 하나 uglifyTask 다음과 같이

Gruntfile.js

module.exports = function (grunt) { 

    grunt.loadNpmTasks('grunt-contrib-uglify'); 

    grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    uglify:{ 
     t1:{ 
     files:{ 
      'build/scripts1.js' : [ 'abc.js', 'xc.js' ] 
     } 
     }, 
     t2:{ 
     files:{ 
      'build/scripts2.js' : [ '123.js', '63a5.js' ] 
     } 
     } 
    } 
    }); 

    grunt.registerTask('default', ["uglify"]); 
    grunt.registerTask('foo', ["uglify:t1"]); 
    grunt.registerTask('quux', ["uglify:t2"]); 
}; 

실행 툴툴 거리는 소리를

위의 Gruntfile.js에는 세 개의 registerTask이 있습니다. default, fooquux.

  • $ grunt 실행 모두 대상 t1 만 실행됩니다 $ grunt foo 실행 t1t2

  • 표적 것입니다 실행합니다.

  • $ grunt quux을 실행하면 대상 t2 만 실행됩니다.

모두 fooquux은 대상의 하나를 참조하도록 결장 표기법 (즉 "uglify:t1""uglify:t2")를 사용한다.

default 작업은 uglify 대상의 모든 대상이 실행되도록하는 uglify 만 참조합니다.

+0

도와 주셔서 감사 드리며 매우 자세한 설명을 드리겠습니다. 정말 감사드립니다. – Cody