2013-05-30 2 views
6

워크 플로우에 대한 의견을 듣고 싶습니다. 나는 Yeoman을 알고 있으며 그것을 사용하지 않기로 결정했다. 내 워크 플로우는 다음과 같습니다.Bower 및 Grunt 워크 플로우

  1. 모든 프로젝트 자산 종속성을 설치하려면 bower install을 실행하십시오.
  2. 모든 js 파일을 bower 구성 요소 폴더에서 새 js 폴더로 복사하고 모든 css 파일을 새 css 폴더로 복사합니다.
  3. grunt 작업을 사용하여 새 폴더의 모든 js 및 css 파일을 연결 및 축소하고 dist 폴더에 넣습니다.
  4. 마지막으로 축소 된 css 및 HTML의 dist 폴더에있는 js를 참조하십시오.

내 grunt 작업에서 확실히 원하지 않는 한 가지는 종속성 특정 작업을 수행하는 것입니다. 새 js 폴더에 bootstrap 폴더의 모든 js 파일을 가져온 다음 prettyphoto 폴더의 모든 js 파일을 새 js 폴더로 가져옵니다. 가능한 한 제멋대로 작업을하여 bower 의존성이 어떤 모양이든 상관없이 모든 프로젝트에서 동일한 gruntfile을 사용할 수있게하고 싶습니다. 그 이유는 내가 각 프로젝트에 대해 내 gruntfile을 작성하는 데 모든 시간을 소비해야한다면, 왜 기존의 방식으로 모든 종속성에 대한 소스 코드를 가져 오지 않는 것일까?

따라서 bower의 구성 요소 폴더 내부에서 모든 js 파일을 가져 오는 데 사용되는 파일을 한 곳에서 다른 곳으로 복사하는 grunt-contrib-copy 플러그인이 있습니다. 문제는 대부분의 bower 구성 요소가 정기적 인 js와 그것의 minified 버전과 함께 제공됩니다. 그래서, 나는 그들 둘 다 복사하고 그들을 연결하고 uglifying입니다. 중복 된 코드!

내 워크 플로가 올바른가요? 그렇다면 위 단락에서 언급 한 문제를 어떻게 제거 할 수 있습니까?

답변

2

정확하게 이해하고 있다면 grunt-usemin을 살펴 봐야합니다. js 태그를 <!-- build:js js/foo.js -->에 넣을 수 있습니다. 패키지에 포함 된 useminPrepare 작업은 거기에있는 스크립트 (또는 CSS 또는 이미지 등)를 순환하고 concat 또는 uglify 작업에 동적으로 추가합니다.

내가 발견 한 한 가지 단점은 usemin 작업이 상당히 느리지 만 잘하면 this pull request이 구현되면 많은 일이 훨씬 빨라진다는 것입니다.

+0

감사합니다. 나는 usemin과 그 위대한 것을 실제로 시도했습니다. 단지 js 및 css 파일의 개정 된 버전은 실제로 생성되지 않습니다. 이 문제는 Windows 컴퓨터에서 알려진 문제입니까? 나는 내 설정에 문제가있는 것을 보지 못한다. – Prashant

관련 문제