2012-11-11 6 views
1

좋아, 내 자산 파이프 라인이 갑자기 내 개발 시스템에서 작동하기 시작했습니다. 이전에 일한 JS 함수는 이제 "함수가 아닙니다"오류를 던지고 있습니다. 나는 틀린 일을해야한다는 것을 알고 있습니다. 1 분 전에 datatables jquery 함수가 작동 중이었고 오류가 발생했습니다. 작동 중이었고 이제는 작동하지 않거나 오류가 발생했습니다. 여기 자산 파이프 라인 가동

여기
//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require_self 
//= require_tree . 
//= require dataTables/jquery.dataTables 
//= require dataTables/jquery.dataTables.bootstrap 
//= require bootstrap 
//= require bootstrap-tooltip 
//= require bootstrap-popover 
//= require bootstrap-tab 
//= require bootstrap-modal 
//= require bootstrap-alert 
//= require bootstrap-dropdown 
//= require jquery.ui.addresspicker 
//= require raty 
//= require jquery.alphanumeric 
//= require jquery.formrestrict 
//= require select2 
//= require chosen/chosen.jquery 
//= require highcharts 
//= require jquery.lazyload 

것은 내 application.js 내 레이아웃 헤더의 일부 :

<%= stylesheet_link_tag "application", media: "all" %> 
    <%= yield(:scripthead) %> 
    <%= javascript_include_tag "application" %> 
    <%= csrf_meta_tags %>  
    <%= yield(:head) %> 

나는 그들이에만있는 한 구글에서 온라인 스크립트를로드 할 수율을 사용하고 위 일부 페이지에서는 필요하며 일반적으로 응용 프로그램 레이아웃에 포함되어 있으면 사이트 속도가 느려집니다. 나는 브라우저 캐시를 지우고 레이크 (rake) 자산을 실행 한 후에도 수율 제거를 시도했지만 문제가 여전히 해결되지 않았습니다.

여기 (항복 scripthead에서 아무것도 가진 페이지) CSS 및 메타 태그 사이에 나타 무엇 : 내가 미안 '하고있어

config.assets.initialize_on_precompile = false 
# Enable the asset pipeline 
config.assets.enabled = true 
config.action_controller.assets_dir = "#{File.dirname(File.dirname(__FILE__))}/public" 

# Version of your assets, change this if you want to expire all your assets 
config.assets.version = '1.0' 

을 : application.rb에서

<script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 
<script src="/assets/aidmodels.js?body=1" type="text/javascript"></script> 
<script src="/assets/audio.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-alert.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-dropdown.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-modal.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-popover.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tab.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-tooltip.js?body=1" type="text/javascript"></script> 
<script src="/assets/branches.js?body=1" type="text/javascript"></script> 
<script src="/assets/charts.js?body=1" type="text/javascript"></script> 
<script src="/assets/chosen/backup_chosen.jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/chosen/chosen.jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/consumers.js?body=1" type="text/javascript"></script> 
<script src="/assets/dispensers.js?body=1" type="text/javascript"></script> 
<script src="/assets/favorites.js?body=1" type="text/javascript"></script> 
<script src="/assets/features.js?body=1" type="text/javascript"></script> 
<script src="/assets/generic_styles.js?body=1" type="text/javascript"></script> 
<script src="/assets/gmaps4rails/gmaps4rails.base.js?body=1" type="text/javascript"></script> 
<script src="/assets/gmaps4rails/gmaps4rails.bing.js?body=1" type="text/javascript"></script> 
<script src="/assets/gmaps4rails/gmaps4rails.googlemaps.js?body=1" type="text/javascript"></script> 
<script src="/assets/gmaps4rails/gmaps4rails.mapquest.js?body=1" type="text/javascript"></script> 
<script src="/assets/gmaps4rails/gmaps4rails.openlayers.js?body=1" type="text/javascript"></script> 
<script src="/assets/highcharts.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery-ui-1.8.18.custom.min.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.alphanumeric.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.formrestrict.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.lazyload.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery.ui.addresspicker.js?body=1" type="text/javascript"></script> 
<script src="/assets/likes.js?body=1" type="text/javascript"></script> 
<script src="/assets/messages.js?body=1" type="text/javascript"></script> 
<script src="/assets/overalls.js?body=1" type="text/javascript"></script> 
<script src="/assets/pages.js?body=1" type="text/javascript"></script> 
<script src="/assets/questions.js?body=1" type="text/javascript"></script> 
<script src="/assets/raty.js?body=1" type="text/javascript"></script> 
<script src="/assets/reviews.js?body=1" type="text/javascript"></script> 
<script src="/assets/sessions.js?body=1" type="text/javascript"></script> 
<script src="/assets/styles.js?body=1" type="text/javascript"></script> 
<script src="/assets/tickets.js?body=1" type="text/javascript"></script> 
<script src="/assets/universities.js?body=1" type="text/javascript"></script> 
<script src="/assets/users.js?body=1" type="text/javascript"></script> 
<script src="/assets/dataTables/jquery.dataTables.js?body=1" type="text/javascript"></script> 
<script src="/assets/dataTables/jquery.dataTables.bootstrap.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-transition.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-affix.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-button.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-carousel.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-collapse.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-scrollspy.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap-typeahead.js?body=1" type="text/javascript"></script> 
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script> 
<script src="/assets/select2.js?body=1" type="text/javascript"></script> 

이 수수께끼를 돕기 위해 무엇을 포함해야할지 모르겠다. 그러나 어떤 충고도 인정 될 것이다. 나는 heroku에 업로드하려고 시도하기 전에 아무런 문제가 없었습니다. 이제 모든 것이 사라졌습니다.

편집 : 나는이 알아낼 수 있었다 아래의 코멘트 하나

감사 : 나는

Uncaught TypeError: Cannot read property 'Constructor' of undefined bootstrap-popover.js:33 
Uncaught ReferenceError: google is not defined jquery.ui.addresspicker.js:25 
Uncaught TypeError: Object [object Object] has no method 'popover' overall:476 

EDIT 2를보고 있어요 순간 콘솔에서

. 내가 application.js를 다시 셔플했다 더 이해하기 위해 포함

//= require jquery 
//= require jquery-ui 
//= require jquery_ujs 
//= require bootstrap 
//= require bootstrap-tooltip 
//= require bootstrap-popover 
//= require bootstrap-tab 
//= require bootstrap-modal 
//= require bootstrap-alert 
//= require bootstrap-dropdown 
//= require dataTables/jquery.dataTables 
//= require dataTables/jquery.dataTables.bootstrap 
//= require jquery.ui.addresspicker 
//= require raty 
//= require jquery.alphanumeric 
//= require jquery.formrestrict 
//= require select2 
//= require chosen/chosen.jquery 
//= require highcharts 
//= require jquery.lazyload 
//= require_self 
//= require_tree . 

OMG를이 나에게 바나나를 운전 .. 아니, 그것은 여전히 ​​작동하지 않습니다. 그 마지막 편집은 제대로 작동하지만, 그때 나는 rake 자산을 실행했다 : 다시 컴파일하고 heroku로 밀어 넣었다 .. Heroku에서 다시는 작동하지 않았다. 그리고 믿거 나 말거나, localhost 버전으로 돌아 왔을 때 깨졌다. 다시, 이제 다른 오류를 던지고 데이터 테이블을로드하지 않습니다.

Uncaught ReferenceError: google is not defined jquery.ui.addresspicker.js:25 
Uncaught ReferenceError: google is not defined application.js:26 
Uncaught TypeError: Object [object Object] has no method 'lazyload' overall:496 

답변

3

JS의 어딘가에 세미콜론을 잊지 않았습니까? 좋아, 내가 생각하는 무슨 일이야 참조 : 자산 파이프 라인은 오류가 침 곳

...

볼 수있는 브라우저의 JS 콘솔에서보세요 ... 편집 코드 청소를하지 않습니다. 마지막에 require_tree을 꺼내 명시 적으로 언급하지 않은 다른 JS 파일을 수동으로로드하십시오. 무슨 일이 일어나는지는 명시 적으로 나열된 이전 요구를 덮어 쓰고 알파벳순으로로드하는 것을 끝내는 require_tree입니다.

또한, 나는 당신이 어떤 보석을 사용하고 있는지 부트 스트랩으로 알지 못합니다.js (또는 심지어 하나를 사용하는 경우)

+0

안녕하세요. 실제로 작동하는 시간과 그렇지 않은 시간 사이에 한 줄의 코드를 변경하지 않았습니다. 콘솔에 순간에 어떤 datatables 오류도 표시되지 않습니다. 이는보기 드문 경우입니다. 나는 datatables 함수를 호출했으며 테이블은 datatables 형식으로 렌더링되지 않습니다. – Abram

+0

제 편집을 참조하십시오. 감사합니다 – Abram

+0

내가 무슨 일이 일어나는 것 같아요 귀하의 자바 스크립트가 올바른 순서로로드되지 않습니다. 나는 집에 더 많은 정보를 얻을 때 대답을 업데이트 할 것이다. –

0

어떤 환경이 발생합니까? env/production.rb 또는 실행중인 모든 환경에서 config.assets.enabled = true을 시도해보십시오.이 설정은 내가 믿는 생산 환경에서 기본적으로 해제되어 있습니다.

+0

모든 것이 정상적으로 개발되었다. 그런 다음 레이크 에셋을 시도했다. 즉, 영웅을 위해 프리 컴파일했다. 프로덕션 앱을 점검했을 때 문제가 발생했다. 개발 앱을 점검 할 때도 문제가 발생했다. – Abram

+0

내 편집을 참조하십시오, 감사합니다. 그건 그렇고, 나는 내 development.rb에 그 라인을 추가하려했지만 여전히 성공하지 못했다. – Abram

관련 문제