레이크 자산에 대한 혼란 : 레일의 자산 파이프 라인에서 청소 / 정리
누군가 명령이 rake assets:clean
실제로 무엇을하는지 설명해 주 시겠습니까? 불행히도 Rails Guides는 그것을 언급하지 않습니다. 명령도 rake assets:cleanup
있습니다. 차이점이 뭐야?
또한 누군가가 언제 rake assets:precompile
프로덕션 에서 실행해야하는지 알려줄 수 있습니다. 모든 애플리케이션 파일을 프로덕션 서버에 배포 한 후 서버 콘솔에서 실행합니까? 아니면 precompile
내 로컬 컴퓨터에서 모든 파일을 배포합니까?
모두 감사합니다
참고 :이 답변은 레일 3에만 해당됩니다. 레일 4 이상에 대해서는 여기에서 다른 답변을 확인하십시오.
로컬 머신에서 사전 컴파일하는 경우 생성 된 자산을 저장소에 커밋하고 배포를 진행할 수 있습니다. 프로덕션 머신에서 컴파일 할 필요가 없습니다.
그러나 문제가 발생합니다. 이제 소스 파일 (coffescript / scss)을 변경할 때 앱이 변경 사항을 선택하지 않습니다. 대신 미리 컴파일 된 파일을 제공하기 때문입니다. rake assets:clean
이러한 사전 컴파일 된 파일을 삭제합니다.
내 프로젝트에서 자산은 배포의 일부로 미리 컴파일됩니다. Capistrano는이를 매우 쉽게 만듭니다.
또한 rake assets:cleanup
.
rake assets:clobber
실제로 자산을 청소하기 위해 실행하십시오 . http://www.dixis.com/?p=735
Sergio의 대답은 Rails 3에서 완전히 정확했습니다 . rake assets:clean
이전에 public/assets
디렉토리 에 사전 컴파일 된 모든 자산을 삭제했습니다 .
Rails 4에서는 rake assets:clobber
동일한 작업을 수행합니다.
rake assets:precompile
다음 구성으로 실행 하는 경우 (기본적으로 스테이징 및 프로덕션에서 사용 설정 됨) :
# config/environments/production.rb
config.assets.digest = true
컴파일 된 자산에 타임 스탬프가 표시됩니다. 즉, 이전 자산은 그대로두고 새 자산을 컴파일 할 수 있습니다. 일반적으로 프로덕션에서이 작업을 수행하기를 원하므로 precompile
새 파일을 만들기 위해 실행 하는 동안 웹 사이트에서 이전 파일에 계속 액세스 할 수 있습니다 (새 css / javascript를 추가했기 때문에). 이제 더 이상 사용하지 않는 이전 파일을 제거하려고합니다. clean
장소에서 새로운 자산을 떠나있는 동안은 미리 컴파일 된 자산의 이전 버전을 제거합니다.
rake assets:clean
컴파일 된 자산을 제거합니다. cap deploy:assets:clean
일반적으로 원격 서버에서 컴파일 된 자산을 제거하기 위해 실행됩니다 .
cap deploy:clean
일반적으로 원격 서버에서 이전 릴리스를 제거합니다. 아닙니다rake assets:clean
갈퀴! = 모자
rake assets:clean
이제에서 실행됩니다 cap deploy:cleanup_assets
. require 'capistrano/rails/assets'
Capfile에 추가 하면이 cap-task를 얻을 수 있습니다. 내 카피 스트라 노 버전은 v3.2.1입니다.
추적되지 않은 파일 git clean -f
을 파일 및 git clean -f -d
디렉토리로 정리하십시오.
'your programing' 카테고리의 다른 글
Android Camera Intent : 전체 크기 사진을 얻는 방법? (0) | 2021.01.05 |
---|---|
하드 코딩 된 문자열 "행 3", @string 리소스를 사용해야 함 (0) | 2021.01.05 |
JavaScript-드롭 다운 목록을 배열로 채우기 (0) | 2021.01.05 |
node-postgres :“WHERE col IN ( (0) | 2021.01.05 |
어떤 함수가 더 빠르게 증가합니까, 지수 또는 계승입니까? (0) | 2021.01.05 |