【发布时间】:2015-10-13 00:02:26
【问题描述】:
我正在本地机器上构建一个应用程序。当我在生产模式下预编译并运行它时,编译的 javascript 停止工作。具体来说,我在 assets 文件夹中的一个咖啡脚本文件和 application.js 中有 javascript。所有其他 javascript(即 ajax 形式的 jquery 等)继续工作,这就是为什么我认为它必须与编译有关。
这是我的 application.js 文件:
//= require jquery
//= require jquery_ujs
//= require jquery-ui/autocomplete
//= require jquery-ui/dialog
//= require autocomplete-rails
//= require dresssed
//= require raphael
//= require morris
//= require best_in_place
//= require_tree .
$('.label-stock-health').popover({ html : true});
$(document).keypress(function(e) {
if ($('.search-bar').length){
if($(".search-bar").is(":visible")) {
} else {
$(".search-bar").show();
$("#q_name_cont").focus();
}
}
});
$("#spinner").hide();
$(document).ajaxStart(function() {
$("#spinner").fadeIn('slow');
}).ajaxStop(function() {
$("#spinner").hide();
});
$(document).ready(function() {
$(".show-search").click(function(){
if ($('.search-bar').length){
$(".search-bar").toggle();
}
});
$(".best_in_place").best_in_place();
});
此功能在开发模式下仍然有效。此外,如果我将 javascript 硬编码到我的布局模板中,它将起作用。但如果没有硬编码,它就不会。
关于可能是罪魁祸首的任何建议?如果不是,调试此问题的最佳方法是什么?
更新 #1 我在 Chrome 开发人员工具的 Javascript 控制台中看到的仅有的两个错误发布在下面。它们还显示在我的 localhost 开发实例上,我的 javascript 功能在其中充分发挥作用。
需要未捕获的 Google Maps API。请注册以下 JavaScript 库 http://maps.google.com/maps/api/js?sensor=true.(anonymous函数)@ 应用程序-6ab26aa5fc5d647a3b5543af7c9838a6.js:9t.(匿名 功能) @ application-6ab26aa5fc5d647a3b5543af7c9838a6.js:9(匿名函数) @ application-6ab26aa5fc5d647a3b5543af7c9838a6.js:9 变体:565 GET http://www.example.com/bootstrap/glyphicons-halflings-regular.woff2 404(未找到)
【问题讨论】:
-
第 1 步:向我们提供错误信息。
-
嗨,我发布了我在上面的 chrome 开发人员工具中看到的错误,但都与非工作功能无关。有任何想法吗?感谢您的帮助。
-
具体是什么停止了工作?你的问题有很多猜测。尽可能具体,我相信你会得到你正在寻找的帮助。
-
好的,我在上面添加了更多细节,包括不再有效的代码。谢谢
-
你试过 RAILS_ENV=production bundle exec rake assets:precompile
标签: javascript ruby-on-rails heroku