2017-12-06 27 views
0

레일즈 5 개발 사이트가 공용 서버에서 실행되고 있습니다. 프로젝트는 또한 개발 모드에 있습니다. 저는 Google Page Speed ​​Insights로 사이트를 스캔했으며 가장 큰 제안 중 하나는 브라우저 캐싱을 활용하는 것이 었습니다. 그래서, 구글에 주위를 둘러 보았다 모든 답은이 코드를 사용하여 말한다 : 프로젝트 내 development.rb 파일이 아닌 production.rb에이 코드를 넣어 개발 모드에 있기 때문에레일 5 - Google 페이지 속도 통찰력 - 브라우저 캐싱 활용

config.public_file_server.headers = { 
    'Cache-Control' => 'public, s-maxage=31536000, maxage=15552000', 
    'Expires' => "#{1.year.from_now.to_formatted_s(:rfc822)}" 
} 

합니다. 이렇게하면 다른 결과를 얻을 수 없었습니다. 오류도 없습니다. 나는 약간의 지침을 사용할 수있다! 미리 감사드립니다.

답변

1

개발중인 레일 서버를 테스트하는 것은 물의 바다를 비우는 것과 같습니다. 프로덕션 환경의 주요 변경 사항은 성능 향상 구성 (캐싱, 클래스 다시로드, 자산 편집 등)입니다.

개발 모드에서 성능을 테스트하려는 경우 기본 프로덕션 구성을 개발 구성으로 복사하는 것이 좋습니다. 그러나 이것은 아마도 당신에게 고통을 줄 것입니다.

환경을 프로덕션 환경으로 전환하십시오.

여기 실제 목표는 무엇입니까?

+0

나는 이미 다른 서버에서 프로덕션 환경에서 실행되고 있으므로 취약점 (브라우저 캐싱)을 식별 할 수있었습니다. 그래서 개발 당시 브라우저 캐싱을 고칠 수 있다면 프로덕션에서 예상대로 작동하도록 코드를 쉽게 전송하고 브라우저 캐싱을 수정할 수있을 것이라고 생각했습니다. –

+1

개발중인 캐싱에 대한 공식 레일 문서를 확인하십시오. http://guides.rubyonrails.org/caching_with_rails.html#caching-in-development –

+0

이전에 보내 드린 가이드로 개발 작업에 필요한 모든 정보를 얻었습니다. 원래 질문에 게시 한 코드를 production.rb에 드롭하고 모든 것을 다시 시작했으며 유효 기간 및 최대 연령이 설정되지 않았습니다. 다른 구성이나 제작에 필요한 것이 있습니까? 내 production.rb 파일에도이 코드 줄이 있습니다. config.action_controller.perform_caching = true –