2014-07-07 6 views
2

yeoman concats가 생성 한 내 grunt 스크립트는 useminPrepare, concat 및 uglifyjs를 통해 js 파일을 축소합니다.툴을 사용하여 특정 js 파일을 축소하지 마십시오

위대한 작품이지만, 거기에 내가 축소하고 싶지 않아요 하나의 js 스크립트입니다. 어떻게 저런 파일에서 지정해야합니까?

+0

질문보기 http://stackoverflow.com/questions/18453974/how-to-ignore-files-grunt-uglify – Ace

+0

@Ace 예 저는 그 질문을 보았습니다. 그리고 특별히 uglify를 구성한다면 질문에 대답합니다. ,하지만 내 경우에는 useminPrepare를 사용하여 uglify 구성을 작성하므로 uglify 구성을 수정하는 방법을 미리 준비해야합니다. – Hisham

+0

또한 @Ace 제 경우에는 하나의 파일에서 모든 스크립트를 연결하는 데 concat을 사용하고 있습니다. 그래서 하나의 js 파일을 연결에서 제외하고 자체적으로 유지해야합니까? – Hisham

답변

3

당신이 예를 들어, 빌드 스크립트의 외부 작게를하고 싶지 않은 파일을 넣어이다 할 수있는 일 : 나는 당신과 같은 문제에 대한 해결책을 찾는 일 동안

<!-- build:js js/app.js --> 
<script src="js/app.js"></script> 
<script src="js/minifythis.js"></script> 
<script src="js/models/minifythis.js"></script> 
<!-- endbuild --> 
<script src="js/do-not-minify-this.js"></script> 
+0

당신은 여전히 ​​수동으로 최소화하지 않는 파일을 수동으로 복사해야합니다. 예를 보려면 후속 게시물을 참조하십시오. – vt5491

+0

Grunt를 사용하는 경우 파일을 다른 디렉토리에 두는 경우에는 Grunt 파일을 편집해야합니다. 내 상황에서는 Angular 폴더를 만들었으므로 {, * /} *. js를 복사 속성에 추가했습니다. 희망이 도움이됩니다. –

2

, 그런 다음 문제를 해결할 수있는 다른 질문을 찾았습니다. 문제를 해결하면서 광산을 해결했습니다. https://stackoverflow.com/a/24819171/785985

해결 방법은 Grunt에서 처리 할 사용자 정의 블록을 정의하는 것입니다. 그런 다음 한 블록을 ['concat']으로 지정하고 다른 블록을 ['concat', 'uglifyjs']으로 지정할 수 있습니다.

0

John Locke의 항목 당 축소 태그에서 파일을 제외하도록 선택한 경우 해당 파일을 수동으로 'dist'디렉토리에 복사하는 것을 잊지 마십시오. 일반적으로 파일을 축소하면 결과로 축소 된 라이브러리가 dist 디렉토리에 복사됩니다. 그러나 당신이 그들을 축소하지 않으므로, 당신은 당신 자신을 복사해야합니다.

예를 들어 사람들이 코드를 온라인에서 쉽게 살펴볼 수 있도록하기 위해 내 앱에서 사용자 스크립트를 압축하고 싶지 않았습니다. 태그에서 그들을 제거하기 위해 내 'index.html을'을 편집 한 후 :

copy: { 
    dist: { 
    files: [ 
    ... 
     { // manually copy all the files you are not minimizing: 
     expand: true, 
     cwd: '<%= yeoman.app %>/scripts/', 
     src:"{,*/}*.js", 
     dest:"<%= yeoman.dist %>/scripts/" 
     } 
    ] 
    }, 
    ... 
}, 

복사하는 파일의 구문은 매우입니다 :

'<!-- build:js({.tmp,app}) scripts/scripts.js -->' 

나는 나의 Gruntfile의 복사 단계에 다음을 추가했다 그르unt에 가시가. 그것을 제대로하기 위해 몇 가지 시도가 필요했습니다.