복붙노트

[RUBY-ON-RAILS] 3.1 자산 레일 - 이상한은 개발에서 봉사

RUBY-ON-RAILS

3.1 자산 레일 - 이상한은 개발에서 봉사

나는 레일 3.1 자산 파이프 라인에 문제가 있어요. 자산은 개발에 두 번 포함되어 있습니다 :

<script src="/assets/main_new.js?body=1" type="text/javascript"></script>
<script src="/assets/pagenav.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.controller.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

어떻게 든 레일 컴파일하고 모든 스크립트가 포함되도록 두 번 application.js을 포함 - 개별 파일로 및 application.js에

생산에 미리 컴파일 된 자산 모두 괜찮아요.

development.rb

 config.assets.compress = false
 config.assets.debug = true

production.rb

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress both stylesheets and JavaScripts
config.assets.compress = true
config.assets.js_compressor  = :uglifier
config.assets.css_compressor = :scss

config.assets.compile = false
config.assets.digest = true

application.rb

config.assets.enabled = true

해결법

  1. ==============================

    1.development.rb에 다음을 추가하십시오 :

    development.rb에 다음을 추가하십시오 :

    config.serve_static_assets = false
    

    ... 다음 브라우저 캐시 (의견을 기반 업데이트를) 삭제

    정적 자산은 어디에있는 공공 / 자산에 미리 컴파일 된 자산을 참조 레이크 자산 : 사전 컴파일 풋을.

    무슨 일이 것은 / 자산은 당신이 그들을 제공하는 경우 응용 프로그램에서 무엇보다 우선합니다 공공 / 자산에 존재하는 그 무엇이다. 그래서 공공 / 자산 /를 JS 태그가 그것을 식별 응용 프로그램 / 자산 / application.js하고자 할 때로드되는 application.js.

  2. ==============================

    2.당신의 / 공공 / 자산을 제거하면, 당신은 분명 브라우저 캐시도해야합니다.

    당신의 / 공공 / 자산을 제거하면, 당신은 분명 브라우저 캐시도해야합니다.

  3. ==============================

    3.이것은 단지 나에게 문제가 발생합니다. 다음을 설정하면 응용 프로그램 작업을하게하지만, 하나의 application.js 파일 포함 - 내가 개발하지 않을 :

    이것은 단지 나에게 문제가 발생합니다. 다음을 설정하면 응용 프로그램 작업을하게하지만, 하나의 application.js 파일 포함 - 내가 개발하지 않을 :

    config.serve_static_assets = false
    

    나는 이전에 내 자산을 사전 컴파일 (원인이 될 것)했다.

    이 문제를 해결하려면 나는 다음과 같은 한 :

    그것은 오류가 발생한 그래서 내가 application.js을 편집 한 후에 만 ​​한 후 페이지에 포함 된 applciation.js 전체, 미리 컴파일 application.js 아니라고을 수정.

    나는 그 필요성을 모두 수행 할 수 있는지 확실하지 않습니다. 나는 또한 다시 시작했다 길을 따라 내 서버.

  4. ==============================

    4.당함, (다시 한번)이에 의해 트립 - 당신의 // = 당신의 application.js의 끝에 지시를 필요로하는 모든 후 빈 라인을 추가하는 것을 잊지 마세요!

    당함, (다시 한번)이에 의해 트립 - 당신의 // = 당신의 application.js의 끝에 지시를 필요로하는 모든 후 빈 라인을 추가하는 것을 잊지 마세요!

  5. ==============================

    5.나는 적은 파일과 같은 문제를 추가합니다.

    나는 적은 파일과 같은 문제를 추가합니다.

    문서에서 이곳으로 :

    내 솔루션 라인 * = require_tree을 제거하는 것이었다. application.css.less에서와 "내-스타일"만 사용 @import에; 이하에서.

    어쩌면 당신은 자바 스크립트와 유사한 솔루션을 찾을 수 있습니다 ...

  6. from https://stackoverflow.com/questions/8356251/rails-3-1-assets-strange-serving-in-development by cc-by-sa and MIT license