내 공급 업체 폴더 내에 hammer.js
이라는 파일이 있습니다. 제 3 자 js를 vendor/assets/javascripts
에 보관하고 집에서 만든 모든 것을 app/assets/javascripts
에 보관하고 싶습니다.레일 3.2 공급 업체 타사 자바 스크립트를 포함
하지만 내 자산 레일을 사전 컴파일하면 공급 업체에서 자산을 가져 오지 않습니다. 내 매니 페스트 파일 내에서 //= require vendor
이 작동하지 않아서 //= require hammer
을 시도했는데이 솔루션을 읽은 사람이 //= require hammer.js
을 시도했는데 다른 사람들에게는 효과가없는 것처럼 보였습니다. 하지만 전혀로드하지 않음
참고 : 매번 bundle exec rake assets:precompile
을 수행하고 공용 자산을 확인하고 페이지를 렌더링하고 대안을 시도 할 때마다로드 된 리소스를 살펴 봅니다.
편집 :
//= require jquery
//= require jquery.ui.all
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts
//= require_tree .
그래서 난이 시도. 하지만 여전히 설정/환경/production.rb 내
를로드 내가이 내가 레일에 JS를 설정 한 첫 번째 시간이 될 것입니다
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
죄송합니다 다음하지. 당신이 hammer.js
가 분리 된 파일로 미리 컴파일 할하려면 같아요, 당신은 config/environments/production.rb
에서 config.assets.precompile
을 변경해야합니다,
//= require_tree ../../../vendor/assets/javascripts
은 벤더 내 매니페스트를 참조 할 수있는 방법이 없으며 간단히 참조 할 수 없습니다. 왜 앱 디렉토리에 오기 전에'../../../ '가 필요합니까? 죄송합니다. 이것은 어리석은 질문 일 수 있습니다. 그 뒤에있는 컴퓨터 과학을 이해하려고 노력하고 싶습니까? – TheLegend
여러 개의 매니 페스트를 시도하지 않았지만이를 인식하지 못했지만 확실히 조사 할 것입니다. 두 번째 부분에서'../../../ '에 대한 이유는 manifest가'app/assets/javascripts'에 있기 때문에 세 단계 위로 올라간 것입니다. – vee
@ TheLegend, 확인을 위해 여러 개의 목록이 가능합니다. 그래서 네, 당신은'vendor/assets/javascripts'에 매니페스트를 만들 수 있고'// = require ../../../ vendor/assets/javascripts/my_manifest'를 사용하여 참조 할 수 있습니다. – vee