簡體   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