2012-06-15 4 views
3

우리는 Compass to Sprite 이미지 (많은 이미지를 단일 파일로 결합)를 사용합니다. images/common/dir에 대한 Sprite를 만들면 compass는 common-sff832da50b.png라는 파일을 만듭니다. 나침반은 Sprite를 다시 생성 할 때마다 새 접미어를 생성합니다. I 앱/자산/이미지에이 스프라이트 이미지를 떠날 경우에, 나는 공공/자산 공통 sff832da50b.png 및 공통 sff832da50b-4a575c6c5d24895370db5ee7e7648d3a.png을 모두 볼 수 있습니다. Compass가이 파일을 관리하기 때문에 Asset Pipeline에 "관리"할 이유가 없습니다. Compass가 이러한 스프라이트를 공용/자산으로 직접 컴파일하도록 구성하여 Asset Pipeline을 우회 할 수 있습니다. 이 단점이 있습니까?Sprited 이미지를 자산 파이프 라인 밖으로 가져와야합니까?

또한 Sprite로 컴파일 된 "소스"이미지는 Asset Pipeline에서 저장/관리하지 않기 때문에 app/assets/images에 저장해서는 안됩니다. 이러한 "원본"이미지는 사용되지 않습니다. 앱은 개발 및 제작 과정에서 Sprites를 사용합니다. 내가 말할 수있는 한, Asset Pipeline은 원본 및 원본의 "다이제스트"를 공용/자산으로 복사 할 이유가 없습니다. 스프라이트 내에서만 사용하고 있습니다. 이게 합리적이라고 생각하니? 단점이 있습니까?

가정 : 레일 3.2 *

고마워요!

+0

업데이트 : 우리가 재고를했다. 995 이미지는 7 개의 스프라이트로 "컴파일"됩니다. 자산 파이프 라인은 또한 지문 (그리고 스프라이트 파일)을 의미하기 때문에 2000 개의 파일이 배포되고 무시 될뿐입니다. 1.8G의 6.7G가 복사됩니다. 이게 당신의 마음을 바꾸나요? –

답변

2

당신은 파이프 라인 외부 폴더에 원시 이미지를 이동할 수 있습니다. 아니. 미리 컴파일하고 공용 폴더에 파일이 떠 다니는 경우를 제외하고는 별다른 차이가 없습니다.

당신은 어딘가에 이미지를 고수해야하고보기의 레일 '자기 의견을 고집하는 관점에서, 이것은 최소한의 저항을 갖고있는 것 같다 것입니다.

는 지문에 관해서, 당신은 (당신이 말한대로) 나침반으로 어느 지문 파일이 필요하지 않습니다이 생성 파일을 의미합니다.

는 +/공공에 쓰기에 문제가있을 수 있습니다/자산 + 직접하지만, 당신이 당신의 프로젝트를 배포하는 방법에 따라 달라집니다.

기본 Capistrano 작업을 사용하는 경우 assets 폴더는 + shared/assets +에서 심볼릭 링크되므로 symlinking이 발생한 후 스프라이트를 컴파일해야합니다.

+0

우리는이 같은 결론에 도달했습니다. 내 OCD는 이러한 파일을 관리하고 복사 할 때마다 무시되지만 무시할 수있는 옵션이없는 것으로 보입니다. –

+1

나는 폴더를 들여다 보지 말도록 훈련시켰다. 자기 자신에게 다시 말해주세요 - 폴더를 보지 마십시오. ;-) –

관련 문제