在rails上,我將所有JavaScript文件放入應用程序js文件中。Rails js文件和頁面特定js
//= require jquery
//= require jquery_ujs
//= require dropzone
//= require jquery.cookie
//= require toastr
//VENDOR JS BEGINS
//= require pace/pace.min
//= require modernizr.custom
//= require jquery-ui/jquery-ui.min
//= require boostrapv3/js/bootstrap.min
//= require jquery/jquery-easy
//= require jquery-unveil/jquery.unveil.min
//= require jquery-bez/jquery.bez.min
//= require jquery-ios-list/jquery.ioslist.min
//= require jquery-actual/jquery.actual.min
//= require jquery-scrollbar/jquery.scrollbar.min
//= require bootstrap-select2/select2.min
//= require switchery/js/switchery.min
//= require imagesloaded/imagesloaded.pkgd.min
//= require jquery-isotope/isotope.pkgd.min
//= require classie/classie
//= require codrops-stepsform/js/stepsForm
//= require bootstrap-datepicker/js/bootstrap-datepicker
然後我在application.html.erb的頭部調用javascript;
...
<head>
..
<%= javascript_include_tag 'application' %>
..
</head>
...
然後我檢查網站的速度,我建議採取這種JS調用到身體。我知道我應該順便說一句。但問題在於頁面特定的JS代碼。
想象一下,我有home.html.erb
用戶選擇日期。所以我把數據代碼放入這個頁面。
如果我參加<%= javascript_include_tag 'application' %>
成體的底部,這個時候因爲沒有加載的jQuery &日期選擇器又那麼頁面的特定的JS給no method error
什麼是最好的辦法?
我猜你沒有使用turbolinks?如果你不是,這意味着你正在加載每個導航的整個HTML(包括資產)。如果是這種情況,我認爲如果你想提高性能,你的首要任務應該是如何只加載一次(比如像turbolinks或ajax應用程序)。 –