2012-12-10 4 views
1

30 명이 넘는 개발자가있는 거대한 프로젝트에서 & 웹 디자이너 모두가 자신의 CSS 스타일을 사이트에 추가하는 중 ... 유지 관리가 어려워지고 있습니다. 우리는 힘내, PHP zendframework, memcache, 카피 스트라 노, 나침반과 새시를 사용하고 있습니다.서버 측에서 중복 CSS 스타일을 자동으로 제거

나는 이와 같은 솔루션을 찾고 있어요 :

Compass Sass => CSS created (.class1 #idname1 .class2 #idname2 .class3 #idname3...) 
PHP => uniquepagename.html required (.class1 #idname1) 

결과 : 모든 CSS와 HTML을 클라이언트로 전송됩니다. 그러나 ...

페이지와 함께 전송 된 CSS에 실제 page.html에 필요한 CSS 만 포함될 수 있다면 어떻게해야합니까?

이러한 시스템이 있습니까?

추신 : 우리는 압축을 사용하고 서버 측에서 CSS와 JS (1kb 파일 (32kb 및 증가)) 1js 파일 (119kb 및 성장) 등을 축소하여 사용하고 있습니다. 여전히 CSS 파일은 무겁습니다. (우리는 유럽에서 12 개국에 서비스를 제공합니다)

+2

무엇에 의해 주석을 포함하는 - 단지 바이트의 트래픽의 몇 가지를 저장할? 그것은 거의 이해가 안 될 것입니다. 유지 보수에 대한 귀하의 요지를 완전히 알고 있습니다. 하지만 출력 시간에 불필요한 CSS를 제거하는 것처럼 보이는데, 이는 무의미하고 값 비싸며 불완전한 것으로 들립니다. 자바 스크립트를 사용하여 동적으로 할당되는 CSS 클래스는 어떻습니까? –

+0

이것은 사용자에게는 매우 끔찍할 것입니다. 방문하는 모든 단일 페이지에서 새 CSS 파일을 요청하는 것보다 캐시 된 큰 파일을받는 것이 더 좋습니다. – cimmanon

답변

0

전체 사이트를 분석하여 필요한 CSS 만 다시 보내면 잠재적으로 CSS를 보내고 클라이언트가 할 수있는 시간보다 더 오래 필요합니다. 그 일. 또한 각 요청은 캐시에서 완전한 하나를 사용하는 대신 약간 다른 CSS를 요구할 수 있습니다.

가장 좋은 방법은 항상 CSS를 병합 어쩌면 작게를하고 보인다 웹 성능에 대한 추천하기 위해 귀하의 CSS (심지어 해제 필요한 것들)을 결합하고 응축하는 것입니다

+0

나는 아직 직접적으로 대답 할 수 없지만 그것은 내 마음에서 벗어나지 않는다. #Christoph No, 그냥 아니오. 요청이 많으면 대개 1 건의 요청보다 훨씬 나쁩니다. 벤치마킹 해 보시고 자신 만의 CSS 파일을 만드십시오. 또한 평생 쉽게 정의 된 매뉴얼 수 있으며 그 이유는 diff 때문에 파일의 지점을 참조하십시오. 변경 사항이있는 경우 (일반적으로 10 분이 아님) CSS에 NEW_RANDOM_ID를 추가하면 다시 캐시됩니다. – b1nary

0

을 (CSS 병합과 같은 병합) 캐싱과 같은 클라이언트/서버 기술을 활용할뿐만 아니라 서버에 대한 요청 수를 최소화하십시오.

달성하려는 목표를 달성 할 수는 있지만 가능한 한 적은 파일에 모든 CSS를 채우는 것이 좋습니다.이 파일은 예상 수명이 짧고 캐시 수명이 짧습니다.

HTH

** 편집 : ** 업데이트 대답은 @Christoph

+0

하나의 CSS에 모든 것을 채워 넣으면 다음과 같은 문제가 발생합니다. 1) 거대한 부피가 큰 CSS 파일 2) 가능한 짧은 캐시 기간. 오랜 시간 동안 정적 인 상태로 유지되는 코어 기능과 짧은 라이프 사이클을 갖는 항목과 같이 다른 파일을 가능한 한 적게 분할하는 것이 좋습니다. – Christoph

+0

네 말이 맞아. 포인트 # 1은 일반적으로 축소 및 압축으로 처리되지만 포인트 # 2는 잘 표현됩니다. –