簡體   English   中英

Javascript部署到Heroku時未執行,但在本地運行良好

[英]Javascript not executing when deployed to heroku, but works fine locally

這個問題似乎已經以30種不同的方式被問到了,但我嘗試所有的解決方法都沒有運氣。

在本地運行良好的Rails 4應用程序,但是當部署到heroku(Cedar)時,JavaScript無法執行。 我正在經歷的過程:

1)RAILS_ENV =生產包執行rake資產:預編譯2)git添加,然后提交3)git push heroku master

我還嘗試破壞Heroku和本地計算機上的資產。

Production.rb

  config.cache_classes = true

  config.eager_load = true

  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  config.serve_static_assets = true

  config.assets.compress = true

  config.assets.js_compressor = :uglifier
  config.assets.css_compressor = :sass

  config.assets.digest = true

  config.assets.precompile += %w( '.woff', '.eot', '.svg', '.ttf' )

  config.active_support.deprecation = :notify

  config.log_formatter = ::Logger::Formatter.new

application.rb

config.assets.version = '4.0'

config.assets.enabled = true

config.before_configuration do
  env_file = File.join(Rails.root, 'config', 'local_env.yml')
  YAML.load(File.open(env_file)).each do |key, value|
    ENV[key.to_s] = value
  end if File.exists?(env_file)
end

config.action_mailer.delivery_method   = :postmark
config.action_mailer.postmark_settings = { :api_key => ENV['POSTMARK_API_KEY']}

config.assets.initialize_on_precompile = false

config.middleware.use Rack::Attack

我也嘗試添加config.assets.compile = true

application.js

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require masonry/jquery.masonry
//= require masonry/jquery.imagesloaded.min
//= require masonry/jquery.infinitescroll.min
//= require masonry/modernizr-transitions
//= require underscore
//= require gmaps/google
//= require_tree .

當我在heroku上運行該應用程序時,可以通過開發人員工具看到javascript: 在此處輸入圖片說明

..但是js沒有執行。 我在哪里錯了?

嘗試將//=require Turbolinks移到application.js的最底部,看看是否沒有幫助。 另外,您可以嘗試關閉Turbolink。 Turbolinks很酷,但並不總是與其他人玩得很好。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM