當我在開發模式是,一切正常,我有以下的.js輸入命令:滑軌資產管道編譯JS錯誤
<!-- Scripts -->
<script src="/assets/jquery/jquery.min.js?body=1"></script>
<script src="/assets/jquery-ujs/src/rails.js?body=1"></script>
<script src="/assets/1modernizr.custom.js?body=1"></script>
<script src="/assets/2rainyday.0.1.2.min.js?body=1"></script>
<script src="/assets/3xrain_init_youtube.js?body=1"></script>
<script src="/assets/3xxbootstrap.min.js?body=1"></script>
<script src="/assets/4classie.js?body=1"></script>
<script src="/assets/5modalEffects.js?body=1"></script>
<script src="/assets/6jquery.placeholder.js?body=1"></script>
<script src="/assets/7jquery.custom.js?body=1"></script>
<script src="/assets/8script.js?body=1"></script>
<script src="/assets/application.js?body=1"></script>
<script>
$(document).ready(function(){
$("#countdown").countdown({
date: "3 march 2014 12:00:00",
format: "on"
},
function() {
// callback function
});
});
</script>
並在生產中,它是這樣的:
<!-- Scripts -->
<script src="/assets/application-afbc85ff07d9057a50dee5713b8bccdf.js"></script>
<script>
$(document).ready(function(){
$("#countdown").countdown({
date: "3 march 2014 12:00:00",
format: "on"
},
function() {
// callback function
});
});
</script>
問題是我在生產模式中遇到一些我無法理解的錯誤。第一個錯誤是:
對countdown的調用是在導入application.js之後,爲什麼會發生?在application.js之前是否有可能執行了內聯腳本?如果是這樣,那爲什麼在分隔文件的開發中不會發生?
第二個錯誤是:
Uncaught TypeError: Cannot call method 'addEventListener' of null
更新:
如果我把一個的setInterval我解決的第一個錯誤,是這樣的:
<script>
$(document).ready(function(){
setInterval(1000, function(){
$("#countdown").countdown({
date: "3 march 2014 12:00:00",
format: "on"
},
function() {
// callback function
}
);
});
});
</script>
所以我覺得直列腳本正在被執行。這很奇怪。
是的,我做到了,這是最後一個,8script.js。 – Jirico
嘗試將setInterval放在document.ready中而不是在它之外 –
嘗試使用rake資源預編譯資源:預編譯 - 跟蹤部署應用程序之前的RAILS_ENV =生產 – Monideep