繁体   English   中英

编译的Javascript无法在生产模式下运行

[英]Compiled Javascript not Working in Production Mode

我正在本地计算机上构建应用程序。 当我预编译并在生产模式下运行它时,已编译的javascript将停止工作。 具体来说,我在资产文件夹中的一个coffeescript文件和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 。(匿名函数)@ application-6ab26aa5fc5d647a3b5543af7c9838a6.js:9t。(匿名函数)@ application-6ab26aa5fc5d647a3b5543af7c9838a6.js: 9(匿名函数)@ application-6ab26aa5fc5d647a3b5543af7c9838a6.js:9变体:565 GET http://www.example.com/bootstrap/glyphicons-halflings-regular.woff2 404(未找到)

我确实在upwork.com上给您写过信,这是怎么回事...如果它在本地主机上运行,​​但在线上载停止工作,则是权限问题。 我在Godady和Blue Host中也遇到了相同的问题。 尝试使用权限播放。 对于(在蓝色主机上)将工作权限设置为5 5 4或5 5 5,我记不清了。 确定所有权限后,如何删除所有权限并重新上传新权限。

罪魁祸首是popover行,如果要使用它,您将需要包括popover插件。 将其注释掉并部署您的代码,它将重新开始工作。

我也刚刚向您发送了有关升级工作的消息,但是您应该检查是否从application.js文件中删除了涡轮链接可以解决此问题:

 //= require jquery
 //= require jquery_ujs
 //= require turbolinks ** remove this line as turbolinks interferes with javascript occasionally.
 //= require_tree .

请添加另一个文件名custom.js并更新

$(document).ajaxStart(function() {
       $("#spinner").fadeIn('slow');
 });
$(document).ajaxStop(function() {
     $("#spinner").hide();
 });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM